上次講了構建速度優化,這次講一下如何使用自帶的構建分析工具來分析。(這篇純屬填上一篇的坑,內容不多)
生成構建分析的執行步驟
- 在 Android Studio 中開啟您的專案後,選擇 View > Tool Windows > Terminal 以在專案的根目錄下開啟命令列。
- 輸入以下命令來執行乾淨構建 在不同構建之間執行 clean 任務可以確保您分析完整的構建進gradlew clean。
- 使用以下命令列為您的 Flavor 之一(例如 Debug Flavor )執行除錯構建。
gradlew --profile --recompile-scripts --offline --rerun-tasks assembleFlavorDebug
複製程式碼
- --profile:啟用分析。
- --recompile-scripts:在繞過快取時強制重新編譯指令碼。
- --offline:禁止 Gradle 提取線上依賴項。這樣可以確保 Gradle 在嘗試更新依賴項時引起的任何延遲都不會干擾您的分析資料。您應當已將專案構建一次,以便確保 Gradle 已經下載和快取您的依賴項。
- --rerun-tasks:強制 Gradle 重新執行所有任務並忽略任何任務優化。
注意,最後的引數對應的寫法是 assemble [productFlavor] [buildType]。 比如 productFlavor 是 beta 而 buildType 是 debug ,則寫成 assembleBetaDebug
在構建完成後,請使用 Project 視窗導航至 project-root/build/reports/profile/
,開啟網頁,即可看到分析結果
如何看構建分析
- 如果您的構建分析顯示 Gradle 在配置專案時花費了過多的時間,可能表明您需要將自定義構建邏輯移出配置階段。
- 如果
mergeDevDebugResources
任務佔用了大量構建時間,則表明您還需要將影像轉換成 WebP 或者停用 PNG 處理。 - 包含大型程式碼庫的專案可能會受益於使用 ProGuard 移除未使用的程式碼和壓縮 APK 大小,而較小的專案則可能從完全停用 ProGuard 中受益