Android - 包体积优化

常规

  • 删除无用资源文件
    • Lint 静态检测 - Android Studio自带
    • Code Inspect - Android Studio自带
  • 图片压缩
  • 混淆字节码文件 Proguard - minifyEnabled
  • 缩减资源 Proguard - shrinkResources
  • so文件缩减
    • 只提供需要的,例如:armeabi-v7a/armeabi
  • 移除未使用的备用资源
    • 国际化: 只提供常用的几种语言
    • 图片适配: 只提供常用的几种分辨率,例如:xxhdpi
  • 定期删除无用功能代码,例如:周期性活动、节日型活动等

进阶

  • 混淆资源文件 AndResGuard
  • dex文件是打包中的产物,redex是facebook开源的分包优化方案。 可以参考:ReDex
  • 动态加载so文件 - facebook开源的SoLoader
  • 插件化

极致

  • DebugItem - 去除debug信息与行号信息, 可以参考支付宝的这篇 支付宝 App 构建优化解析:Android 包大小极致压缩
  • R Field内联 - 字节开源的shrink-r-plugin,还有滴滴开源的booster
  • 图片着色器 - 针对同图不同色的处理,可以使用tint,比如原本是一个黑色的返回icon,现在另一个页面要用白色了,就不需要两张图了,而是使用tint来修改为白色即可

包体积监控

对每个版本的包大小变化进行监控,设置合理流程去规划包体积增长

参考文章

Android包体积优化(常规、进阶、极致)- 掘金
shrink-code-google
APK包体积优化

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容