APK瘦身优化,减小apk的大小

首先通过Android Studio自带的工具分析我们的apk



这样我们就可以很清楚地看到我们的apk中最大一部分是谁,点击对应项就可以查看它的具体内容,如下图


这里我们可以详细的看到apk中用到的所有的相关库,可以根据自己的实际情况进行删减,比如:我在压缩的时候发现引入的地图库比较大,确认之后发现只需用到定位功能,这时跟定位无关的东西就可以直接删掉了。


其次我们可以在图片资源上下手,对图片进行压缩。

方法一:将图片格式转换成webp,这个格式是 google 推出的图片格式,有更小的体积,图片质量还没有什么损失。

我们可以选中 drawable 和 mipmap 文件夹,右键后选择 convert to webp,将图片转为 webp 格式。



方法二:使用下面这个网站对图片进行压缩,亲测效果非常明显。

https://tinypng.com

TinyPNG使用智能有损压缩技术来减小 PNG文件的文件大小。通过选择性地减少图像中的颜色数量,需要较少的字节来存储数据。效果几乎不可见,但它使文件大小有很大的差别!

 

第三,混淆等相关配置

release {

   //混淆

   minifyEnabled true

   //Zipalign优化

   zipAlignEnabled true

   // 移除无用的resource文件

   shrinkResources true

   //加载默认混淆配置文件

   proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

   signingConfig signingConfigs.release

}

 

第四,手动去除无用资源




第五,如果你的应用不需要支持国际化,那么可以设置 resConfigs 为 "zh","en",即只支持中英文:

defaultConfig {

   //...

   //...

   //...

 

   resConfigs "zh","en"

}

这么做是因为对于官方的 support library,默认是支持国际化的,也就是包含了很多不同语言的资源文件,我们就可以通过这样设置来移除用不到的语言资源文件。

 

参考资料:

https://www.ctolib.com/topics-125849.html

https://juejin.im/post/5a0a59a5f265da43333de94b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值