APK体积优化

关于 APK Size 的优化,网上有很多版本的介绍。在这里主要分享一下我的认知和理解。主要分两部分:安装包监控、安装包大小优化。

安装包监控

Android Studio 的 APK Analyser
这是 Android Studio 提供的一个 APK 检测工具,通过它可以查看一个 APK 文件内部各项内容所占的大小,并且按照大小排序显示。因此我们很容易观察到 APK 中哪一部分内容占用了最大空间。
APK体积优化_第1张图片
弹框选中你要分析的apk即可.
APK体积优化_第2张图片
从图中可看出我的res占据比较大(主要项目中有视频展示,我把视频存放在了raw中导致的)

安装包优化实践

1.删除无用文件
APK体积优化_第3张图片
APK体积优化_第4张图片

APK体积优化_第5张图片
会罗列出没有引用到的资源文件.可减少Apk的体积.

2.编译时期减少被打包到 APK 中的文件
使用 shrinkResources 能够在项目编译阶段,删除所有在项目中未被使用到的资源文件。但是需要将 minifyEnabled 选项设置为 true。

3.使用 resConfig 限定国际化资源文件
有时候我们使用到的三方库中可能会对各种国际化语言进行支持,但是我们自己的项目只支持某个语言,比如中文,那我们可以在 gradle 的 defaultConfig 中使用 resConfig 来限制打包到 APK 中的国际化资源文件,具体如下所示:
APK体积优化_第6张图片
4.文件优化
APK体积优化_第7张图片

根据分析出的情况,减小图片的大小。

在这里插入图片描述

优先使用 VectorDrawable 图片,如果 UI 无法提供 VectorDrawable 图片,那么 webp 格式是一个不错的选择。Android Studio 也支持直接将 png 或者 jpg 格式图片转化为 webp 格式,如下所示:

APK体积优化_第8张图片
5.关于第三方的引用
在 App 中会引入各种三方的”轮子”,但是在引入之前最好权衡一下是否需要将其代码全部引入,造成不必要的代码或者资源也被打包到 APK 中。

总结
主要介绍了我们平时在项目中关于安装包优化的一些实践总结,主要分两方面:安装包监控、安装包优化实践。实际上,在开发过程中,良好的编程习惯和严格的 code review 也是非常重要的。希望能帮到大家。

你可能感兴趣的:(Android)