上次講了構(gòu)建速度優(yōu)化西乖,這次講一下如何使用自帶的構(gòu)建分析工具來分析
生成構(gòu)建分析的執(zhí)行步驟
- 在 Android Studio 中打開您的項(xiàng)目后香嗓,選擇 View > Tool Windows > Terminal 以在項(xiàng)目的根目錄下打開命令行忿晕。
- 輸入以下命令來執(zhí)行干凈構(gòu)建 在不同構(gòu)建之間運(yùn)行 clean 任務(wù)可以確保您分析完整的構(gòu)建進(jìn)gradlew clean山林。
- 使用以下命令行為您的 Flavor 之一(例如 Debug Flavor )執(zhí)行調(diào)試構(gòu)建漠魏。
gradlew --profile --recompile-scripts --offline --rerun-tasks assembleFlavorDebug
- --profile:啟用分析。
- --recompile-scripts:在繞過緩存時(shí)強(qiáng)制重新編譯腳本他去。
- --offline:禁止 Gradle 提取在線依賴項(xiàng)毙驯。這樣可以確保 Gradle 在嘗試更新依賴項(xiàng)時(shí)引起的任何延遲都不會干擾您的分析數(shù)據(jù)。您應(yīng)當(dāng)已將項(xiàng)目構(gòu)建一次灾测,以便確保 Gradle 已經(jīng)下載和緩存您的依賴項(xiàng)爆价。
- --rerun-tasks:強(qiáng)制 Gradle 重新運(yùn)行所有任務(wù)并忽略任何任務(wù)優(yōu)化。
注意,最后的參數(shù)對應(yīng)的寫法是 assemble [productFlavor] [buildType]铭段。 比如 productFlavor 是 beta 而 buildType 是 debug 骤宣,則寫成 assembleBetaDebug
在構(gòu)建完成后,請使用 Project 窗口導(dǎo)航至 project-root/build/reports/profile/
序愚,打開網(wǎng)頁涯雅,即可看到分析結(jié)果
如何看構(gòu)建分析
- 如果您的構(gòu)建分析顯示 Gradle 在配置項(xiàng)目時(shí)花費(fèi)了過多的時(shí)間,可能表明您需要將自定義構(gòu)建邏輯移出配置階段展运。
- 如果
mergeDevDebugResources
任務(wù)占用了大量構(gòu)建時(shí)間,則表明您還需要將圖像轉(zhuǎn)換成 WebP 或者停用 PNG 處理精刷。 - 包含大型代碼庫的項(xiàng)目可能會受益于使用 ProGuard 移除未使用的代碼和壓縮 APK 大小拗胜,而較小的項(xiàng)目則可能從完全停用 ProGuard 中受益