Android优化apk包体积的常用方法

经过大量数据验证,apk的体积与应用安装量程负相关关系,更小的体积将带来更多的装机量。

  • Android Size Analyser 插件
    想要优化包体积,首先要分析安装包中各部分的空间占比。我们一般将将apk拖入android studio进行分析,另外推荐使用Android Size Analyser插件,它可以在分析的同时直接给出优化建议
    Android优化apk包体积的常用方法
    Android优化apk包体积的常用方法

  • Lint
    使用Lint进行静态检查,可以发现一些可以删除的资源和代码,帮助我们优化包体

  • 图片压缩
    除了删除无用资源,还可以通过替换图片格式达到"压缩"图片的作用:

    • 使用WebpTinyPNG等替换Png
    • 使用矢量图替换位图等
  • so压缩
    对于项目中使用的so文件可以进行7zip进行压缩存放在Assets中,然后再运行时解压后再加载

  • 代码量优化
    注意代码的可复用性,避免产生较多重复代码,可以使用第三方静态检查工具例如sonarqube等,对代码重复率进行检查。当然更有效的办法是使用kotlin替代java,代码量有明显下降

  • Proguard
    在正式出包前,一定要开启Proguard对apk进行优化,它会删除一些无用的class以及method,同时提供资源混淆、so压缩等处理,对包体积进行整体优化

  • R8
    使用R8替代DB,R8 能够像Proguard一样对APK包体积进行优化的同时,其便以速度更快

  • 插件化
    如果以上诸多范式仍然不满意,那么请考虑使用插件化,这是减少包体积的终极方案:

    • 国内的插件化开源框架很多,例如滴滴的VirtualAPK、360的Replugin等都可以选择使用
    • 对于在GooglePlay上架的应用来说,Android App Bundles是唯一可用的插件化手段

相关文章: