APK优化(七)之启用shrinkResources资源缩减 ,不需要物理上的删除。

官网:https://developer.android.com/studio/build/shrink-code

要启用资源压缩

请在 build.gradle 文件中将 shrinkResources 属性设置为 true(在用于代码压缩的 minifyEnabled 旁边)。例如:

android {
    ...
    buildTypes {
        release {
            //资源缩减
            shrinkResources true
            //源代码混淆 true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            //资源缩减
            shrinkResources true
            //源代码混淆 true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

自定义要保留的资源

如果您有想要保留或舍弃的特定资源,请在您的项目中创建一个包含 标记的 XML 文件,并在 tools:keep 属性中指定每个要保留的资源,在 tools:discard 属性中指定每个要舍弃的资源。这两个属性都接受逗号分隔的资源名称列表。您可以使用星号字符作为通配符。路径:res/raw/keep.xml。构建不会将该文件打包到 APK 之中。

res---raw---keep.xml



    
    
    
    
image.png

项目中activity_test资源被用了,activity_test1、activity_test2被keep住了,activity_test3没被keep住,也没被用,这时rebuild之后,看效果


image.png

image.png

image.png

image.png

apk里面的activity_test、activity_test1、activity_test2都有代码,而activity_test3里面代码没有了,而且占用内存极小,不需要做文件删除,就可以使不用的资源最小化

APK优化(一)之SVG--------------解决大量的套图问题
APK优化(二)之Tint着色器-------------减少apk体积
APK优化(三)之资源打包配置----resources.arsc
APK优化(四)之.so动态库打包配置
APK优化(五)之移除无用资源,物理删除
APK优化(六)之代码混淆
APK优化(七)之启用shrinkResources资源缩减 ,不需要物理上的删除
APK优化(八)之启用webp转换插件-----图片变小
APK优化(九)之资源res文件混淆和7ZIP压缩

你可能感兴趣的:(APK优化(七)之启用shrinkResources资源缩减 ,不需要物理上的删除。)