我在 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
文件,正如我上面所描述的。
关于android-studio - 为什么 gradle 2.0 这么慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36441598/