参考:http://blog.csdn.net/u012124438/article/details/54958757
(一)先分析项目中各部分占多大,apk变大主要是由哪一部分组成的
在Android Studio工具栏里,打开build–>Analyze APK, 选择要分析的APK包
显然可以看到占用空间的主要是代码、图片、资源和lib和assert文件,主要方向精简代码、压缩图片、去除无用的库、减少asserts里面文件。
- 使用混淆,减少代码体积
- 删除不使用的资源
- 减少使用第三方库的数量,避免引入大而全的框架
- 压缩图片
经过分析,发现apk中最大的部分res,所以重点是减小res来减小体积
(二)开始优化
1.处理图片
(1)使用一套资源
对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。
相对于多套资源,只使用720P的一套资源,在视觉上差别不大,很多大公司的产品也是如此,但却能显著的减少资源占用大小,顺便也能减轻设计师的出图工作量了。
注意,这里不是说把不是xhdpi的目录都删除,而是强调保留一套设计资源就够了。
(2)可以使用TinyPng
https://tinypng.com/
(3)微信资源压缩
微信Android资源混淆打包工具,如何让应用安装包立减1M
(4)使用webp
2. lint检查清楚掉冗余的代码和资源
由于平时的各种需求的变更或者其他的因素,我们的工程里往往会出现许多冗余的资源文件,包括图片资源和layout资源等,随着冗余的资源越来越多,APK包就会变得越来越大。
那么,如何才能以最快的方式找到工程里的冗余资源呢?AndroidStuido为我们提供了一个很好的方法。
下面就让我们来看一下具体步骤:
1.首先打开AndroidStuidio:点击菜单栏上的Analyze,点击
Run Inspection By Name 项。点击后,屏幕中间会弹出一个弹框:
任意选择一个
任意选择一个