我们述说了Apk瘦身从哪些方面入手,哪些地方值得我们去发现问题以及解决问题,这篇文章我们总结下常规性操作,包括grade打包配置 。
1、资源文件优化
【Android性能优化 Android性能优化案例】a、项目中可选择对主流的dpi支持,例如我们项目目前选择xxhdpi作为对标,对于大图片,可以通过网络加载方式执行 。
defaultConfig {resConfigs "zh" //表示只使用中文resConfigs "xxhdpi" // 表示只是用xxhdpi目录下的资源文件}
b、项目中的图片以及动图采用webp格式 。
文章插图
c、对于图片绘制功底比较的同学,可多采用svg、shape、代码绘制、NinePatch格式(.9格式)等方式来替代图片资源 。
d、资源中尽量使用android系统本身存在的资源,例如字体(实在要用,可到网上寻找简化版资源)
e、对于大资源采用网络加载方式,例如视频、音频、大图、gif、json文件等,当然这种情况要充分考虑网络加载失败的情况,免得业务受阻 。
f、在我们业务中,涉及到了so库,并且这些so库占比很很大,我们可以对部分so库执行动态加载方案 。
2、开启minifyEnable
它的作用不仅仅是混淆代码,还有压缩优化的功能,他会遍历所有代码并找出没有引用到的代码,这些代码不会生成在apk中,混淆的效果是使用简短的字母替代原来的类名属性名等,一定程度上也可以减小代码体积 。此时要注意对于不该混淆的要做keep处理,另外对于那些反射的类要做keep处理 。
3、开启shrinkResources功能
shrinkResources标识是否去除无用的resource文件,它需要配合minifyEnable使用,同样存在反射机制引用的问题,这种情况会被误删 。
android {buildTypes {release {minifyEnable trueshrinkResources true}}}
4、libs目录瘦身
so文件最终会被打包到libs目录中,我们针对libs目录的瘦身主要是去除不必要的平台ABI的so文件,对于不重要的so库可参考上面1方案中的f条 。
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
5、慎重选择第三方库
一些第三方库他的功能很判断,考虑问题很全面,有些开源框架他会根据功能不同提供了精简版,有些会根据不同的平台提供了精简版,还有根据不同的cpu架构提供了不同的精简版,我们要根据的需求选择不同的版本 。
- Android旗舰手机性能榜单更新 手机性能排行最新版
- 最新手机性能排行公布 手机性能排行最新版
- 石英和玻璃的特性 石英玻璃的性能
- 手机发热除了性能较高 性能好不发热的手机
- 如何选购一套性能优秀的电脑主机 性价比高的电脑主机配置
- 魅族诞生最佳性能手机 魅族性能最强的手机
- 智能手机中三防性能最强 性能最好的三防手机
- 谁家的游戏优化技术更好 哪个游戏优化好
- 我选择的高性能手机和中低端手机 性价比高的中低端手机
- 2022这几款性能极强的手机 2022手机推荐