想要变瘦必须知道“肉”都从哪里来的, Buidl > Analyze Apk > 选择apk包 (查看apk体积结构)(原包25M+,优化后15M-)
其实apk瘦身很简单(把问题简单化,先入门),主要从三方面入手:
1:资源
2:图片优化
3:混淆资源
首先监测并删除无用资源:
Analyze > Run Inspection by Name > 输入 unused resources
( 新版本 as: Code > Analyze Code > Run Inspection by Name )
app长时间版本迭代,难免会遗留无用资源,及时移除可为apk瘦身打下良好基础
图片优化(重点优化)
从apk体积占比中可看到图片资源所占比例居首,优化分两点。(一个合格的UI能起到事半功倍的效果)
一:使用一套图
众所周知为适配不同屏幕系统根据不同分辨率设置多个文件夹,严格来说需要多套图适配;
但对于大部分app而言使用一套图足以,不会影响用户体验,相比多套图,在视觉上没有差异,可很明显减小资源占用;孰轻孰重各随己见;
二:图片本身优化
目前静态图片大致分为png,jpg,webp三种格式,无论使用哪种格式,首先需要UI配合设计合适尺寸的图片,然后进行压缩处理;
对于闪屏,导航,广告页等大图可直接转换webp格式;(右键图片资源,选择Convert to Webp可直接转换)
quality均衡默认75为最佳,可直接点击OK转换
转换之后webp格式图片大约为原图片的11%
开启minifyEnable混淆
开启minifyEnabled不仅仅是混淆代码,还会遍历代码,使用简短的字母代替类名属性名等,没有用的代码不会生成在apk中,从而实现代码压缩功能;看下图效果(无用资源移除,图片优化后混淆前后对比):