加快android studio 编译速度(已更新至Android Studio 3.3.1)
1.加快AS启动速度
“Help”-"Edit Custom Properties...",在文件中输入
# custom Android Studio properties disable.android.first.run=true
PS:AS在第一次打开的时候会连网更新(翻樯),我们的目的就是把联网下载操作屏蔽掉,实测在AS 3.3.1中效果不明显。
2.增加运行环境内存
“Help”-"Edit Custom VM Options...",在文件中输入
# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html -Xms512m -Xmx4096m -XX:MaxPermSize=2048m -XX:ReservedCodeCacheSize=1024m
PS:-Xms是AS初始分配的堆内存大小,-Xmx是AS最大分配的堆内存大小。AS运行越久,内存越不足的时候,就会频繁的触发GC,AS就自然会卡起来了,严重的直接黑屏,所以,我们把对应的所需内存都配置大一些。笔者使用的是8G内存,修改后效果还算明显。
3.取消一些联网操作或使用离线模式
打开“File-Settings-Appearance&Behavior-System Settings-Update”,取消选择“Automatically check updates for”和“Use secure connection”
打开“File-Settings-Build,Execution,Deployment-Gradle”,选择“Use local gradle distribution”,勾选“Offline work”
PS:有时候没有必要使gradle进行联网操作,勾选gradle会使得速度更快,但同时存在一个问题:如果项目中用到了一些其它的第三方库,会无法下载,所以可酌情使用。
4.优化编译方案(推荐)
新建“gradle.properties”文件。
- /home/<username>/.gradle/ (Linux)
- /Users/<username>/.gradle/ (Mac)
- C:\User\<username>/.gradle/ (Windows)
打开 gradle.properties 文件,添加下列代码:
org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true
PS:上面的代码主要是给gradle单独开启了一个守护线程,并且指定使用并行编译。上面的配置是针对全局的,如果只想针对单个项目,可以只修改这个项目下的gradle.properties文件。另外,AS本身也提供了一些编译优化选项:
打开“File-Settings-Build,Execution,Deployment-Compiler”,勾选下列复选框
PS:勾选的第一项为并行设置,第二项为离线工作设置。第三项为开启自动编译,第四项为配置守护进程。
5.优化项目结构
尽量将第三方库的jar、aar文件导入自己的项目,或者将第三方库下载到本地,然后当做一个本地模块导入自己的项目,不要再使用gradle中的maven依赖了(使用offline模式就会报错)。
6.其它
有条件的话最好还是升级下硬件。上SSD,升级内存(最好在8G以上,我公司项目涵盖多个模块,平时开个AS,项目文档,再打开个虚拟机,浏览器,过一会内存就吃紧,不得不关闭一些暂时不用的窗口,很浪费时间)。