加快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

    }

}