APK優(yōu)化(七)之啟用shrinkResources資源縮減 ,不需要物理上的刪除。

官網(wǎng):https://developer.android.com/studio/build/shrink-code

要啟用資源壓縮

請(qǐng)?jiān)?build.gradle 文件中將 shrinkResources 屬性設(shè)置為 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'
        }
    }
}

自定義要保留的資源

如果您有想要保留或舍棄的特定資源,請(qǐng)?jiān)谀捻?xiàng)目中創(chuàng)建一個(gè)包含 <resources> 標(biāo)記的 XML 文件,并在 tools:keep 屬性中指定每個(gè)要保留的資源,在 tools:discard 屬性中指定每個(gè)要舍棄的資源。這兩個(gè)屬性都接受逗號(hào)分隔的資源名稱列表。您可以使用星號(hào)字符作為通配符。路徑:res/raw/keep.xml。構(gòu)建不會(huì)將該文件打包到 APK 之中。

res---raw---keep.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
           tools:discard="@color/selector_tint_color"
           tools:keep="@layout/activity_test1,@layout/activity_test2"
           tools:shrinkMode="strict"/>
    <!--discard:做嚴(yán)格檢查-->
    <!--keep :不做嚴(yán)格檢查-->
    <!--shrinkMode="strict" :該模式只保留在代碼或者資源文件中明確引用的資源-->
    <!--shrinkMode="safe" :該模式會(huì)保留所有明確引用的資源以及可能被 Resources.getIdentifier() 動(dòng)態(tài)引用的資源-->
image.png

項(xiàng)目中activity_test資源被用了,activity_test1、activity_test2被keep住了,activity_test3沒(méi)被keep住,也沒(méi)被用,這時(shí)rebuild之后,看效果


image.png

image.png

image.png

image.png

apk里面的activity_test、activity_test1、activity_test2都有代碼,而activity_test3里面代碼沒(méi)有了,而且占用內(nèi)存極小,不需要做文件刪除,就可以使不用的資源最小化

APK優(yōu)化(一)之SVG--------------解決大量的套圖問(wèn)題
APK優(yōu)化(二)之Tint著色器-------------減少apk體積
APK優(yōu)化(三)之資源打包配置----resources.arsc
APK優(yōu)化(四)之.so動(dòng)態(tài)庫(kù)打包配置
APK優(yōu)化(五)之移除無(wú)用資源,物理刪除
APK優(yōu)化(六)之代碼混淆
APK優(yōu)化(七)之啟用shrinkResources資源縮減 ,不需要物理上的刪除
APK優(yōu)化(八)之啟用webp轉(zhuǎn)換插件-----圖片變小
APK優(yōu)化(九)之資源res文件混淆和7ZIP壓縮

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 要盡可能減小 APK 文件,您應(yīng)該啟用壓縮來(lái)移除發(fā)布構(gòu)建中未使用的代碼和資源。 代碼壓縮通過(guò) ProGuard 提...
    chordwang閱讀 983評(píng)論 0 4
  • 原文:https://developer.android.com/studio/build/shrink-code...
    tiger桂閱讀 459評(píng)論 0 0
  • 要盡可能減小 APK 文件,您應(yīng)該啟用壓縮來(lái)移除發(fā)布構(gòu)建中未使用的代碼和資源。此頁(yè)面介紹如何執(zhí)行該操作,以及如何指...
    android_zyq閱讀 3,417評(píng)論 0 7
  • 原文鏈接:https://developer.android.com/studio/build/shrink-co...
    抹香君閱讀 5,751評(píng)論 0 7
  • 為了使APK文件盡可能小,您應(yīng)該啟用縮小以刪除您的發(fā)布版本中未使用的代碼和資源。 下面描述如何做,以及如何指定在構(gòu)...
    小蕓論閱讀 1,332評(píng)論 0 5

友情鏈接更多精彩內(nèi)容