Apk瘦身指南

0.序

Apk大小影响应用的安装速度,内存使用,电量损耗。用户的流量即选择下载的可能性。

1.了解Apk的构成

  • res/
  • resources.arsc
  • classes.dex
  • libs/:so库
  • AndroidManifest.xml
  • assets/
  • META-INF/:相关签名文件

2.最小化代码

  • 使用代码混淆ProGuard
  • 检查依赖的第三库,尽量统一,减少依赖
  • 通过依赖配置transitive避免不必要的传递引用(./gradlew [project]:dependencies可查看依赖关系)
  • 去除无用import,优化代码逻辑(Android Studio的Anaylze->code cleanup)

3.移除无用资源

  • 开启shrinkResources
  • resConfigs “en”, “fr”,配置语言包
  • 通过lint,查出无用资源并删除
  • 审查帧动画,减少图片资源,考虑用Drawable替代,或者改成其它实现方式

4.使用特定资源

  • libs中只加载armeabi架构
  • 用一套图,官方文档建议至少包含一套xxhdpi

5.图片资源处理

  • 使用webp格式
  • 使用tinypng压缩png图片
  • 建议:VectorDrawable->WebP->Png->JPG

6.借助工具

  • facebook的redex,优化dex文件
  • 微信的AndResGuard混淆资源文件

7.终极秘籍

  • 插件化

参考

smallerapk
Android官网:reduce-apk-size

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值