APK瘦身方案

去除&减少无用资源,文件,库

  • buildTypes中开启minifyEnabled = trueshrinkResources = true去除无用资源和代码
  • 去除没有用到的库和相应的so文件
  • 在满足需求的情况下,将大型,重量级的库替换为小型轻量级的库,并且可以根据自己的需求进行源码局部化定制
  • defaultConfig{resConfigs "zh"}删除没有用到的语言资源

引用的图片资源优化

  • 在差不多的展现质量上,耗费空间大小由小到大为:webp < jpg < png,所以可以利用webp进行图片层级上的优化

引用的音频资源优化

  • 可以使用opus代替一般的音频资源

Provided关键字

  • 不要重复利用compile关键字,使用Provided

Proguard深度混淆代码

  • 优点:
    • 防止被反编译
    • 缩短变量名和函数名,jar体积减少25%左右
  • 缺点
    • 混淆时使用反射会造成麻烦

微信资源打包

  • 混淆资源ID的长度,利用7z进行深度压缩
    如res/drawable/icon.png -> r/d/i

全版本兼容的瘦身方案

  • 对白色和透明图片有效
  • 需要支持多个主题时,不需要为同一个图标准备多个drawable,减少了apk空间

插件化技术

  • 大大减少APK的大小,可以做到按需加载,动态配置,非常灵活,插件化技术较为复杂,之后有时间会开专题详细讲解这个技术
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值