Android APK瘦身/减小包体

内推

【长期有效】欢迎加入字节跳动我的团队:内推链接

随着应用的长久迭代,各种功能模块的加入,APK包体越来越大,减小包体是必要的。
所以,从最简单的来。

1.删除无用资源
应用迭代就了,功能增删,总会有无用资源残留,所以,定期删除无用资源是必要的。(尤其是图片那些)
使用Lint扫描无用资源。(一个Android优化工具,可百度或官方文档:https://developer.android.com/studio/write/lint.html)
Android Studio下,检索无用资源可使用以下方式:
在Android Studio中打开“Analyze” 然后选择"Inspect Code…",范围为Whole project(整个项目),然后点击"OK"。
这里写图片描述

其他如Eclipse的使用,或者命令行的使用,可自行百度。
这里说一点注意:Lint扫描下,不一定是全部准确的。如果你的项目使用了Context.getResources().getIdentifier(imageName, "drawable", sContext.getPackageName());
这种通过文件名的方式去拿项目下的资源,Lint会判别为资源未使用,别误删了。
当然,getIdentifier这个方法本身是不建议使用的,因为这个方法去获取资源id效率很低,直接以R.drawable.xxx的方式指定资源id当然是最好的。

注意到以上一些问题,建议使用Lint扫描后手动删除,不确定的情况下,可以全局搜索文件名的方式检索资源有没有被使用再删除。

2.图片优化
图片一直是APK“纳税”第一大户,所以对图片的优化也显得尤为重要。
首先,可以上TinyPNG(https://tinypng.com/)这个网站对应用使用的一些图片进行压缩(png或jpeg),这个压出来后质量损失很小,压缩比也比较可观。

3.ProGuard优化
使用ProGuard打混淆,能启到优化作用。但要注意配置。这点大部分商业化项目一般都会做吧,详细可见百度。

4.去除无用的库
现在Android应用普遍可以提升到Android 4.0以上,API 14以下的support库可以删除。

5.更强大的压缩
可以参见微信团队的压缩方案 AndResGuard(https://github.com/shwenzhang/AndResGuard),这个开源项目会对资源文件混淆,别且用7z代替原来默认的zip压缩,压缩比很高,不过要注意配置。详见官方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值