Gradle 提速幾種方式

Gradle 官方的一些優(yōu)化建議

1

盡可能的使用最新版本的 Gradle 和 JVM,這是最簡單直接的方式,Gradle 開發(fā)團(tuán)隊會持續(xù)的更新 Gradle 版本,來優(yōu)化構(gòu)建速度以及提供一些新的特性,而使用新版本的 JVM,是因為 Gradle 運行在 JVM 上,所以,如果新版本的 JVM 提升了性能,同樣也會讓 Gradle 跑的更快。

2

Parallel execution,并行執(zhí)行 Gradle 的 tasks,在你的 gradle.properties 文件添加以下配置:

開啟并行編譯
//org.gradle.parallel=true
開啟守護(hù)進(jìn)程 通過開啟守護(hù)進(jìn)程,下一次構(gòu)建的時候,將會連接這個守護(hù)進(jìn)程進(jìn)行構(gòu)建,而不是重新fork一個gradle構(gòu)建進(jìn)程
org.gradle.daemon=true
//啟用新的孵化模式
org.gradle.configureondemand=true
//開啟 Gradle 緩存
org.gradle.caching = true

3

配置階段

減少不必要的 apply plugin,按需使用。如果某個插件不是所有的模塊都要使用的情況下,就不要使用 allprojects{} 的方式。
在配置階段避免執(zhí)行一些耗時的工作,比如 IO 操作或者網(wǎng)絡(luò)請求等

4

Daemon
在老版本的 Gradle 開啟 Daemon 配置,而在 3.0 以后的 Gradle 版本是默認(rèn)支持的。

調(diào)整 daemon’s 的堆大小,默認(rèn)是 1 GB,如需調(diào)大,可在你的 gradle.properties 設(shè)置:
org.gradle.jvmargs=-Xmx2048M

5

使用 implementation 替代 compile,有效的減少編譯時的依賴項,需升級至 Gradle 3.4 版本

6

增量編譯,Gradle 可以將依賴關(guān)系分析到單個類級別,以便僅重新編譯受更改影響的類。 增量編譯是 Gradle 4.10 以來的默認(rèn)編譯。 在老的版本中,可以像這樣激活它:
tasks.withType(JavaCompile) {
options.incremental = true
}

7

使用最新版本的工具

8

避免編譯不必要的資源,比如不必要的語言本地化,
你可以只指定一種語言資源和屏幕適配,如以下示例所示:
android {
...
productFlavors {
dev {
...
// The following configuration limits the "dev" flavor to using
// English stringresources and xxhdpi screen-density resources.
resConfigs "en", "xxhdpi"
}
...
}
}

9

166e8123654236ee.png

10

166e819b7cbbde69.png

11

使用 WebP 格式的圖片,有效減少圖像文件大小,而不必執(zhí)行構(gòu)建時壓縮,可以加快你的構(gòu)建

12

關(guān)閉 PNG crunching,加快構(gòu)建速度通過禁用自動圖像壓縮,Gradle 3.0 版本以上在 debug 的構(gòu)建類型下是默認(rèn)關(guān)閉的。如需手動配置其他構(gòu)建類型,如下示例:
android {
buildTypes {
release {
// Disables PNG crunching for the release build type.
crunchPngs false
}
}

// If you're using an older version of the plugin, use the
// following:
// aaptOptions {
// cruncherEnabled false
// }
}

13

開啟 Instant Run

官方說明

官方說明

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,253評論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,725評論 25 709
  • 第 3 封情書 每周2晚上8點準(zhǔn)時更新,歡迎關(guān)注初哥財智薈! 在剛開始創(chuàng)業(yè)的時候,很多朋友善意提醒我,創(chuàng)業(yè)初期一定...
    初哥財智薈閱讀 413評論 0 0
  • 問題 用戶對于網(wǎng)站本身或展示的主題內(nèi)容有疑問。 解決方案 新建一個"常見問答"(FAQ)頁面并提供簡單的答案。 何...
    7alan閱讀 1,794評論 0 2

友情鏈接更多精彩內(nèi)容