今天我们接上篇Android性能优化-Apk瘦身(1),聊一聊res资源文件的优化。
1、res资源文件优化
随着我们项目功能越来越多,越来越负责,迭代也越来越多,项目中使用的资源文件也越来越多,也越来越复杂。
a、删除无用的资源文件
我们在Android studio中点击Refactor->Remove Unused Resources,
此时出现
这种方式我们是工具觉得这些资源无用的,我们需要有自己的辩证,那些资源能删除,那些资源不能删除,不能删除的需要把还原。
b、当然我们也可以先查看那些资源是无效的。
我们选择Analyze->Run Inspection by Name
在对话框中输入 ununed resoures
此时会输出一个文档,我们可以通过文档去删除对应的文件的。
2、压缩图片文件
a、设计给开发的图片,往往会很大的,我们可以对他进行,目前我们采用比较多的是在https://tinypng.com/
网站中压缩,当然也可以自动化压缩,github上有对用的项目。
b、目前我们切图一般上传到蓝湖上的,最新版的蓝湖提供了压缩功能,我们也可以使用他。
3、资源共享
对于相同资源,一定要复用,例如同样的是返回按钮,不要上传N个返回按钮文件,对于这种文件我们要定期清理,往往在项目开发过程中,这种按钮是五花八门,并且同样的icon上传了N个,严重的增加apk大小。
4、移除未使用的备用资源
我们的一些SDK,往往会把所有地区、所有语言的资源都打包进来的,这种方式的对于SDK来说的是对的,但是我们应用只在中国地区使用,并且只有懂得汉语的人使用,因此对于英文我们就不需要做适配了,此时我们可以合理利用resConfigs功能了,通过它来移除我们不必要的资源文件了。
5、资源压缩
这个是微信开发的一个工具库[(https://github.com/shwenzhang/AndResGuard)
具体说明可以参考[安装包立减1M–微信Android资源混淆打包工具],里面有详细的介绍。
总结
apk大小与我们的获客成本是呈现正相关的关系的,重视Apk大小在我们日常开发过程是基本工作,不能每发一次版,我们的App大小就增加了1M或者更大,有效的控制应用大小要求我们在项目过程中不断去完善自己业务逻辑,改善我们的业务功能,例如通过代码绘制去替代一些简单的图片,同时要求设计人员在设计时要注重资源复用等。