1.修改lib配置
在gradle使用minifyEnabled进行Proguard混淆的配置,可大大减小APP大小:
so文件的优化:通常我们在使用NDK开发的时候,我们经常会有如下这么一段代码:
abiFilters “armeabi-v7a”
看上面图分析,armeabi-v7主要不支持ARMv5(1998年诞生)和ARMv6(2001年诞生).
目前这两款处理器的手机设备基本不在我公司的适配范围(市场占比太少)。
而许多基于 x86 的设备也可运行 armeabi-v7a 和 armeabi NDK 二进制文件。
对于这些设备,主要 ABI 将是 x86,辅助 ABI 是 armeabi-v7a。
最后总结一点:如果适配版本高于4.1版本,可以直接像我上面这样写,当然,如果armeabi-v7a不是设备主要ABI,那么会在性能上造成一定的影响
- 优化res,assets文件大小
在Android Studio中打开“Analyze” 然后选择"Inspect Code…",范围选择整个项目,然后点击"OK"。 - 手动lint检查,手动删除无用资源
使用tinypng等图片压缩工具对图片进行压缩 - 大部分图片使用Webp格式代替
可以给UI提要求,让他们将图片资源设置为Webp格式,这样的话图片资源会小很多。如果想了解更多关于webp,请点击这里webp,当然,如果对图片颜色通道要求不高,可以考虑转jpg,最好用webp,因为效果更佳。 - 尽量不要在项目中使用帧动画
- 使用gradle开启shrinkResources
移除无用资源文件,不显示Log,移除无用的resource文件 - 如果你的dex文件太大,检查是否引入了重复功能的第三方库
- 将大资源文件放到服务端,启动后自动下载使用
- 动态加载so库文件,插件化开发
- 删除翻译资源,只保留中英文