啟用應用程式最佳化功能

為提供最佳使用者體驗,請盡可能縮減應用程式大小並提升速度。我們的應用程式最佳化工具 (稱為 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,您也應建立啟動設定檔,進一步提升啟動效能。

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