1. 程式人生 > 實用技巧 >加快Android Studio 3.6.3的編譯速度

加快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 StudioGradle每次編譯的時候,每次都會聯網檢查依賴庫,如果網速比較慢,會比較耗時。我們可以暫時禁用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

}

}