人需要经常锻炼健身照顾身体,但我们的Apk也需要“瘦身 减肥”啊~ 其实花不了多少时间 慢慢去研究也会有所突破的,记录打卡下自己研发的App瘦身之路吧!
项目结构分析
由于项目中用到了 第三方模块都比较多,涉及 友盟 支付 直播等好几个模块,本身加载的第三方网络框架也比较多,当初建项目也没有考虑特别多,最新的潮流用啥我们就用啥,完全没考虑到这个蓝胖子越变越胖!
最后加上各个平台加固 打包 竟然变成20M 的大胖子
要是我是个观众 绝对不会去下这个app的,所以目前我所能做的就是 尽量能减小Apk的体积吧。
1.图片资源 资源瘦身
其实打包之后 会发现 其实很大部分有很多图片 占用了很大的空间,那么一小张张的图片占那么一点,多起来就占了很大一部分了。
https://tinypng.com/
[原文] TinyPNG uses smart lossy compression techniques to reduce the file size of your PNG files…
[翻译] TinyPNG使用智能有损压缩技术,来减少PNG文件的大小…
我推荐 下使用 这个 tinypng.com 用熊大来瘦瘦身 估计 也能小到 200k-1M大小 使用也简单方便!
下面是我经过 熊大 瘦身对比
哇,差不多小了700kb 效果还是挺不错的。
2.Native Code - so
本身带了太多第三方的库,第三方库基本上有 c的so库,so库也占用了很大一部分空间,具体占多大可以 去 解压试试下就知道 了
armable-v7和armeabi文件夹可以只保留armable。
当然,armable-v7a的库会对图形渲染方面有很大的改进,对于目前我们的来说 还不太适用,所以 我只保留了armeabi 和x86的库,一下子又减少了大约3M多了
3.代码检查的优化
这个还是靠自带lint代码检查 去除无用的类文件 和资源 ,删减一些无可必要,有必要可以做下代码混淆之类的优化。
2017.3.20 暂时更新点