1.为什么要优化包体积

  • 下载转化率
  • 推广成本
  • 应用市场

2.包体积与应用性能

包体积除了转化率的影响,它对我们应用性能还有哪些影响呢?

  • 安装时间。文件拷贝、Library 解压、编译 ODEX、签名校验,特别对于 Android 5.0 和 6.0 系统来说(Android 7.0 之后有了混合编译),微信 13 个 Dex 光是编译 ODEX 的时间可能就要 5 分钟。
  • 运行内存。在内存优化的时候我们就说过,Resource 资源、Library 以及 Dex 类加载这些都会占用不少的内存。
  • ROM 空间。100MB 的安装包,启动解压之后很有可能就超过 200MB 了。对低端机用户来说,也会有很大的压力。

事实上安装包中无非就是 Dex、Resource、Assets、Library 以及签名信息这五部分。

代码优化

ProGuard

资源优化

使用WebP

PNG压缩

PNG压缩工具:

包体积监控

  • 大小监控
  • 依赖监控
  • 规则监控

参考