如何在Android Studio中添加大量视频且不显著增大应用体积
解决Android应用嵌入大量短视频导致体积过大的思路
云端存储+按需加载
别把视频打包进APK,把所有视频传到云存储(自建后端、对象存储都行),应用里只存视频的元数据(比如ID、播放链接、缩略图)。用户用的时候,要么流式播放,要么按需下载。首次启动可以预加载几个常用视频,剩下的等用户用到再加载,这样APK里完全没视频,体积问题直接解决。App Bundle+动态功能模块
用Android App Bundle(AAB)发布,把视频按类别拆成不同的动态功能模块。用户装应用的时候默认不下视频模块,需要用相关内容时,再通过Google Play的动态交付下载对应模块。基础APK体积会非常小,视频资源按需获取。本地视频极致压缩(仅适合少量必要视频)
如果非得存部分视频在本地,先做极致压缩:- 用H.265/HEVC编码代替H.264,画质损失微乎其微,体积能减不少;
- 降分辨率,移动设备上720p甚至480p足够清晰,没必要搞1080p;
- 调码率,30秒短视频把码率控在500-1000kbps就行;
- 删掉多余的音轨、字幕轨这些冗余内容。
另外,把视频放res/raw或assets目录时,确保APK压缩是开启的(默认开,别手动禁用)。但上千条视频的话,哪怕压缩完体积还是会爆炸,这个只能当辅助方案。
离线数据包下载模式
应用装好后,引导用户下载单独的视频离线压缩包,存在应用外部存储里。启动时检测数据包有没有,没有就提示下载。APK本身不带视频,数据包还能单独更新,用户也能选是下全部还是部分内容。
内容的提问来源于stack exchange,提问作者Abdullah husham
相关产品推荐
相关产品推荐

