APK体积优化
关于 APK Size 的优化,网上有很多版本的介绍。在这里主要分享一下我的认知和理解。主要分两部分:安装包监控、安装包大小优化。
安装包监控
Android Studio 的 APK Analyser
这是 Android Studio 提供的一个 APK 检测工具,通过它可以查看一个 APK 文件内部各项内容所占的大小,并且按照大小排序显示。因此我们很容易观察到 APK 中哪一部分内容占用了最大空间。
弹框选中你要分析的apk即可.
从图中可看出我的res占据比较大(主要项目中有视频展示,我把视频存放在了raw中导致的)
安装包优化实践
1.删除无用文件
会罗列出没有引用到的资源文件.可减少Apk的体积.
2.编译时期减少被打包到 APK 中的文件
使用 shrinkResources 能够在项目编译阶段,删除所有在项目中未被使用到的资源文件。但是需要将 minifyEnabled 选项设置为 true。
3.使用 resConfig 限定国际化资源文件
有时候我们使用到的三方库中可能会对各种国际化语言进行支持,但是我们自己的项目只支持某个语言,比如中文,那我们可以在 gradle 的 defaultConfig 中使用 resConfig 来限制打包到 APK 中的国际化资源文件,具体如下所示:
4.文件优化
根据分析出的情况,减小图片的大小。
优先使用 VectorDrawable 图片,如果 UI 无法提供 VectorDrawable 图片,那么 webp 格式是一个不错的选择。Android Studio 也支持直接将 png 或者 jpg 格式图片转化为 webp 格式,如下所示:
5.关于第三方的引用
在 App 中会引入各种三方的”轮子”,但是在引入之前最好权衡一下是否需要将其代码全部引入,造成不必要的代码或者资源也被打包到 APK 中。
总结
主要介绍了我们平时在项目中关于安装包优化的一些实践总结,主要分两方面:安装包监控、安装包优化实践。实际上,在开发过程中,良好的编程习惯和严格的 code review 也是非常重要的。希望能帮到大家。