為提供最佳使用者體驗,請盡可能縮減應用程式大小並提升速度。我們的應用程式最佳化工具 (稱為 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,您也應建立啟動設定檔,進一步提升啟動效能。
如果啟用應用程式最佳化功能後發生錯誤,請嘗試下列修正策略:
- 新增保留規則,確保部分程式碼不受影響。
- 逐步採用最佳化措施。
- 更新程式碼,改用更適合最佳化的程式庫。