Gradle 提速幾種方式

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

1

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

2

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

開啟并行編譯
//org.gradle.parallel=true
開啟守護進程 通過開啟守護進程午绳,下一次構建的時候,將會連接這個守護進程進行構建映之,而不是重新fork一個gradle構建進程
org.gradle.daemon=true
//啟用新的孵化模式
org.gradle.configureondemand=true
//開啟 Gradle 緩存
org.gradle.caching = true

3

配置階段

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

4

Daemon
在老版本的 Gradle 開啟 Daemon 配置蠢甲,而在 3.0 以后的 Gradle 版本是默認支持的僵刮。

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

5

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

6

增量編譯寞宫,Gradle 可以將依賴關系分析到單個類級別,以便僅重新編譯受更改影響的類拉鹃。 增量編譯是 Gradle 4.10 以來的默認編譯辈赋。 在老的版本中,可以像這樣激活它:
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í)行構建時壓縮,可以加快你的構建

12

關閉 PNG crunching坝辫,加快構建速度通過禁用自動圖像壓縮篷就,Gradle 3.0 版本以上在 debug 的構建類型下是默認關閉的。如需手動配置其他構建類型近忙,如下示例:
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

官方說明

官方說明

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竭业,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子及舍,更是在濱河造成了極大的恐慌未辆,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锯玛,死亡現(xiàn)場離奇詭異咐柜,居然都是意外死亡兼蜈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門拙友,熙熙樓的掌柜王于貴愁眉苦臉地迎上來为狸,“玉大人,你說我怎么就攤上這事遗契≡科剑” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵姊途,是天一觀的道長。 經(jīng)常有香客問我知态,道長捷兰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任负敏,我火速辦了婚禮贡茅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘其做。我一直安慰自己顶考,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布妖泄。 她就那樣靜靜地躺著驹沿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹈胡。 梳的紋絲不亂的頭發(fā)上渊季,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音罚渐,去河邊找鬼却汉。 笑死,一個胖子當著我的面吹牛荷并,可吹牛的內(nèi)容都是我干的合砂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼源织,長吁一口氣:“原來是場噩夢啊……” “哼翩伪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雀鹃,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤幻工,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后黎茎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囊颅,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了踢代。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盲憎。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖胳挎,靈堂內(nèi)的尸體忽然破棺而出饼疙,到底是詐尸還是另有隱情,我是刑警寧澤慕爬,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布窑眯,位于F島的核電站,受9級特大地震影響医窿,放射性物質(zhì)發(fā)生泄漏磅甩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一姥卢、第九天 我趴在偏房一處隱蔽的房頂上張望卷要。 院中可真熱鬧,春花似錦独榴、人聲如沸僧叉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓶堕。三九已至,卻和暖如春掷豺,著一層夾襖步出監(jiān)牢的瞬間捞烟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工当船, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留题画,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓德频,卻偏偏與公主長得像苍息,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子壹置,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

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