我在 Android Studio 中使用 Gradle 2.0.0,构建一个空项目需要 2 分钟。它还会在 Windows 8.1 下创建 100% 的 CPU 使用率。
很烦人。更烦人的是,一个合适的项目可能需要 4-5 分钟的时间来构建,而且它会减慢一切。
什么可能导致这种情况?
请您参考如下方法:
从 2.0.0-rc3 开始也有同样的问题。有时经过长时间的构建(大约 10 分钟)得到 gc overhead limit exceeded
错误。
更新:
此外,它在 SSD 上使用了大约 6 GB 的磁盘空间。
有下一个配置:
在应用程序中 build.gradle
:
dexOptions {
javaMaxHeapSize "4g"
}
在
gradle-wrapper.properties
:
org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.parallel=true
UPD 2:
我想我已经找到了临时解决方案 - 我已经关闭
Instant Run
并添加了下一个配置:
在
gradle.properties
:
org.gradle.jvmargs=-Xms512m -Xmx2048m
org.gradle.daemon=true
org.gradle.parallel=true
在
build.gradle
:
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
在
studio.vmoptions
:
-server
-Xms1G
-Xmx2G
-XX:MaxPermSize=450m
-XX:MetaspaceSize=512m
您可以找到
studio.vmoptions
在:
苹果系统:
~/Library/Preferences/{FOLDER_NAME}/
Linux:
~/.{FOLDER_NAME}/studio.vmoptions and/or ~/.{FOLDER_NAME}/studio64.vmoptions
视窗:
%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions and/or %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions
UPD 3:我想,我已经找到了 Android Studio 使用这么多磁盘空间的原因。
以后每
gc overhead limit exceeded
错误 Android Studio 创建文件
java_pid<proccess_id_number_here>.hprof
在您项目的根文件夹中。
它的大小约为
1.2 Gb
,很多的
gc overhead limit exceeded
错误
->
很多这样的文件。你可以删除它们。
UPD 4:更新到 Android Studio 2.1 版并添加属性
maxProcessCount
后,构建变得更快了在
dexOptions
dexOptions {
incremental true
maxProcessCount 4
javaMaxHeapSize "5g"
}
另外,我在
gradle.properties
中增加了 Gradle 的最大堆大小。 :
org.gradle.jvmargs=-Xmx5120M
org.gradle.daemon=true
org.gradle.parallel=true
而且我还在使用修改后的
studio.vmoptions
文件,正如我上面所描述的。