啟用應用程式最佳化功能

為提供最佳使用者體驗,請盡可能縮減應用程式大小並提升速度。我們的應用程式最佳化工具 (稱為 R8) 會移除未使用的程式碼和資源、重新編寫程式碼以提升執行階段效能等,藉此簡化應用程式。對使用者而言,這代表:

  • 更快的啟動時間
  • 提升算繪和執行階段效能
  • 減少 ANR

如要啟用應用程式最佳化功能,請在發布版本的應用程式層級建構指令碼中,設定 isMinifyEnabled = true (程式碼最佳化) 和 isShrinkResources = true (資源最佳化),如下列程式碼所示。建議您一律啟用這兩項設定。此外,我們建議您只在發布前測試的最終版應用程式 (通常是發布版本) 中啟用應用程式最佳化功能,因為最佳化會增加專案的建構時間,且由於修改程式碼的方式,可能會使偵錯更加困難。

Kotlin

android {
    buildTypes {
        release {

            // Enables code-related app optimization.
            isMinifyEnabled = true

            // Enables resource shrinking.
            isShrinkResources = true

            proguardFiles(
                // Default file with automatically generated optimization rules.
                getDefaultProguardFile("proguard-android-optimize.txt"),

                ...
            )
            ...
        }
    }
    ...
}

Groovy

android {
    buildTypes {
        release {

            // Enables code-related app optimization.
            minifyEnabled true

            // Enables resource shrinking.
            shrinkResources true

            // Default file with automatically generated optimization rules.
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')

            ...
        }
    }
}

最佳化資源縮減功能,進一步縮減應用程式大小

Android Gradle 外掛程式 (AGP) 8.12.0 版導入了最佳化資源縮減功能,可整合資源和程式碼最佳化作業,進一步縮減應用程式大小並提升速度。

啟用最佳化資源縮減功能

如要為 9.0.0 之前的 AGP 版本啟用新的最佳化資源縮減管道,請在專案的 gradle.properties 檔案中加入下列內容:

android.r8.optimizedResourceShrinking=true

如果您使用 AGP 9.0.0 以上版本,就不需要設定 android.r8.optimizedResourceShrinking=true。在建構設定中啟用 isShrinkResources = true 時,系統會自動套用最佳化資源縮減功能。

驗證及設定 R8 最佳化設定

如要讓 R8 充分發揮最佳化功能,請從專案的 gradle.properties 檔案中移除下列程式碼 (如有):

android.enableR8.fullMode=false # Remove this line from your codebase.

請注意,啟用應用程式最佳化功能後,堆疊追蹤會變得難以解讀,尤其是 R8 重新命名類別或方法名稱時。如要取得與原始碼正確對應的堆疊追蹤,請參閱「還原原始堆疊追蹤」。

如果已啟用 R8,您也應建立啟動設定檔,進一步提升啟動效能。

如果啟用應用程式最佳化功能後發生錯誤,請嘗試下列修正策略: