Android 包体积优化

包体积分析

apk 文件 直接拖入android studio中看下哪部分占有的空间比较大,as会自动按照文件大小逆向排序。
重点关注下 以下目录

  • res 关注下有没有大图资源。可以针对性的压缩。
  • lib 关注下有没有x86, x86_64so文件,这些一般不用打进包中
  • assets 关注下有没有大的文件资源。

找到占有空间大的资源就可以针对性优化了。

Android 包体积优化_第1张图片

包体积优化

配置合适的abiFilters

一般保留armeabi-v7a, arm64-v8a即可。不需要支持64位的,可以只保留armeabi-v7a

defaultConfig {
        ...
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a' // 'x86', 'x86_64' 最好移除
        }
    }

图片资源优化

  • 使用webp格式图片降低图片大小。
  • 针对icon资源使用矢量图android vector
  • 随着项目的迭代,有些不用的图片资源移除掉,可以使用lint检测。见下面介绍

移除不用的资源文件

点击菜单栏的Code,选择Analyze Code -> Run Ispection by Name

弹出输入框,输入 unused resources,回车即可开启检测
Android 包体积优化_第2张图片
检测完成后,可以看到有哪些不用的图片资源,确认后删除即可。位置在 底部-problems - Unused resources Inspection...
Android 包体积优化_第3张图片
这个“app”即你的项目,下面的每个item都是无用资源文件,逐个删除即可。

注意:
有些图片引用是通过名字方式获取的(如下代码),这类的图片也会认为是不用的资源,删除时需要小心。

res.getIdentifier(resName, "drawable", packageName)

你可能感兴趣的:(android,包体积,性能优化)