Apk优化
1.SVG矢量图片
5.0svg制定生成维度的png:vectorDrawables.generatedDensities('xhdpi','xxhdpi')
android5.0之后需要v7支持包:vectorDrawables.useSupportLibrary = true
2.tint着色器
方式:tint属性或selector
3.资源打包配置:只保留默认和指定资源
resConfigs('zh-rCN','ko')
4.动态库打包配置
对真机只要保留armeabi(armeabi-v7a)就可以:
指定映射关系:
sourceSets{
main{
jniLibs.srcDirs = ['libs']
}
}
ndk{
abiFilters('arm64-v8a','armeabi','armeabi-v7a')
}
5.移除无用资源
一:Refactor->remove Unused Resources(物理删除,容易误删,不推荐(动态,反射无关联资源会被永久删除))
二:Analyze->run Inspection By Name->输入unused resource->选中模块->remove All Unused Resources
6.开启代码压缩
源代码混淆开启minifyEnabled true(混淆出错-keep 错误类)
7.启动资源压缩:shrinkResources true
自定义要保存的资源配置:res/raw/keep.xml
<?xml version="1.0" encoding="utf-8">
<resource xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/l_used*_c,@layout/l_used*_l"//不压缩
tools:discard="@layout/unused2"/>
8.启用webp转换插件
9.资源混淆和7zip压缩