本篇幅内容主要是围绕资源来阐述如何优化Android的性能,降低生成apk的大小,不管怎么说,用户总是喜欢相对来说较小的安装包应用。
1、优化资源中的图片(即res或者asset下的图片资源)
- 利用三方网站或者工具对图片进行无损压缩。(推荐网站:https://www.tinypng.com/)
- 利用微信的开源工具AndResGuard进行打包(原理就是精简压缩资源路径,github搜索AndResGuard即可)
- 资源尽量使用SVG图片格式(优势在于SVG图片由xml格式定义,体积小,且不会失真)
2、去除无用资源(此方法删除的时候要千万仔细)
- Analyze - -> Run Inspection by Name --> 输入 unused resource 之后敲下回车Android Lint就会开始分析项目中哪里存在着无用资源。
- 根据Android Lint给出的分析结果,确认资源的使用情况,确认为无用资源后(一般来说全局搜索下资源名,除了在R.Java中外其他地方都没引用就是无用资源)删除即可。
- 在gradle使用shrinkResources去除无用资源,效果非常好。
buildTypes {
release {
//是否进行混淆
minifyEnabled true
// 移除无用的resource文件g
shrinkResources true
//混淆规则文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
3、在项目中使用混淆(混淆不仅能优化性能,也能提升安全性)
buildTypes {
release {
//是否进行混淆
minifyEnabled true
// 移除无用的resource文件g
shrinkResources true
//混淆规则文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
// buildConfigField 自定义配置默认值
signingConfig signingConfigs.debug
debuggable true
}
}
对于混淆可以参考我的另一篇博文。(https://blog.csdn.net/lujiaquan688/article/details/107756806)
对于本文不足之处,恳请大佬们留言指正,不胜感激!