加快Android Studio 3.6.3的編譯速度
1. 加大給Android Studio 3.6.3分配的記憶體
開啟Android Studio
的安裝目錄,找到虛擬機器的配置檔案,進行修改,如下:
Windows
編輯安裝目錄下的bin\studio64.exe.vmoptions
macOS Catalina(10.15.4)
1 | $ sudo vim /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions |
原始內容如下:
我們需要修改如下引數:
1 2 3 4 5 6 7 | -Xms256m# 最低分配記憶體 -Xmx1280m # 最高分配記憶體 -XX:ReservedCodeCacheSize=240m # 程式碼快取保留空間 -XX:+UseConcMarkSweepGC # GC |
建議修改成的引數
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # -server模式啟動時,速度較慢,但是一旦執行起來後,效能將會有很大的提升.原因是: # 當虛擬機器執行在-client模式的時候,使用的是一個代號為C1的輕量級編譯器, # 而-server模式啟動的虛擬機器採用相對重量級,代號為C2的編譯器. # C2比C1編譯器編譯的相對徹底,服務起來之後,效能更高. -server # 伺服器模式 -Xms2048m# 最低分配記憶體 -Xmx4096m # 最高分配記憶體 -XX:ReservedCodeCacheSize=1024m # 程式碼快取保留空間 # UseConcMarkSweepGC # CMS,全稱Concurrent Low Pause Collector # 主要適合場景是對響應時間的重要性需求大於對吞吐量的要求, # 能夠承受垃圾回收執行緒和應用執行緒共享處理器資源, # 並且應用中存在比較多的長生命週期的物件的應用 # -XX:+UseParNewGC:設定年輕代為多執行緒收集。 # 可與CMS收集同時使用。在serial基礎上實現的多執行緒收集器。 -XX:+UseParNewGC # GC |
修改後的結果 (macOS Catalina(10.15.4))
開啟idea.properties檔案,找到idea.max.intellisense.filesize,預設是2500,改為25000(數值僅供參考,具體數值根據自己檔案大小來定)
macOS Catalina(10.15.4)
1 | $ sudo vim /Applications/Android\ Studio.app/Contents/bin/idea.properties |
2. Android Studio 3.6.3設定自動編譯工程
開啟Android Studio的設定,找到如圖所示,打上勾即可。如圖:
3. 開啟dex增量編譯
在Module的build.gradle中新增如下程式碼
1 2 3 4 5 6 | dexOptions { // incremental選項已經過期,現在已經用不到了,預設已經自動啟用 // incremental true //預編譯庫檔案,如果庫沒有改動,就不需要更新了 preDexLibraries = true } |
4. 修改gradle設定
在Project的gradle.properties中新增:
1 2 3 4 5 6 | # 下面註釋掉的兩項在實際編譯的時候,不一定能正常,因此我們暫時不啟用 # org.gradle.daemon=true # org.gradle.configureondemand=true org.gradle.parallel=true org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 |
5. 使用本地gradle
在Android Studio
的Gradle
每次編譯的時候,每次都會聯網檢查依賴庫,如果網速比較慢,會比較耗時。我們可以暫時禁用Gradle
的聯網檢查,如下圖:
6. 啟用 Gradle Caching
Gradle Caching 是 Gradle 3.5 的新特性,顧名思義能通過快取來加速 build 過程。
在 Android Studio 3.0 中更據此做出了許多優化,因此我們可以這樣來啟用:
gradle.properties
Vim
1 2 | # Set this in gradle.properties org.gradle.caching=true |
7. 儘可能使用最新版本的 Android Gradle Plugin
Android 的 tool team 一直都在不斷改進 Android Gradle Plugin,提高構建速度。所以第一條是最簡單的,始終使用最新版本的 Android Gradle Plugin。
build.gradle
Vim
1 2 3 4 5 6 7 8 9 10 11 12 | buildscript { repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.6.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } |