为什么gradle 2.0这么慢? [英] Why is gradle 2.0 so slow?

查看:122
本文介绍了为什么gradle 2.0这么慢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Android Studio中使用了Gradle 2.0.0,一个空的项目需要2分钟才能构建。它还在Windows 8.1下创建了100%的CPU使用率。



非常讨厌。更令人讨厌的是,一个合适的项目可能需要4-5分钟才能完成,并且会减慢一切。



这可能是什么原因造成的?

解决方案

自从2.0.0-rc3以来遇到同样的问题。并且有时在长时间构建(大约10分钟)之后获得 gc开销限制超过错误。


$ b UPD:
另外它在SSD上使用了大约6 GB的磁盘空间。



有下一个配置:



在应用程序的 build.gradle 中:

  dexOptions {
javaMaxHeapSize4g
}

gradle- wrapper.properties

  org.gradle.configureondemand = true 
org.gradle。 daemon = true
org.gradle.parallel = true

UPD 2:
我认为我找到了临时解决方案 - 我已经关闭了 Instant Run 并添加了下一个配置:



$ p $ gradle.properties .gradle.jvmargs = -Xms512m -Xmx2048m
org.gradle.daemon = true
org.gradle.parallel = true

build.gradle 中:

  dexOptions {
增量真正
javaMaxHeapSize4g
}
studio.vmoptions
中的$ c>



  -server 
-Xms1G
-Xmx2G
-XX:MaxPermSize = 450m
-XX:MetaspaceSize = 512m

您可以在<:code> studio.vmoptions p>

Mac OS:



{FOLDER_NAME} /



Linux:

〜/。{FOLDER_NAME} /studio.vmoptions和/或〜/。{FOLDER_NAME} /studio64.vmoptions



Windows:



%USERPROFILE%\。{FOLDER_NAME} \studio.exe.vmoptions和/或%USERPROFILE%\。{FOLDER_NAME} \studio64.exe.vmoptions



UPD 3:我认为,我发现Android Studio为什么使用这么多的磁盘空间。
$ b 在每个 gc开销限制超过错误之后,Android Studio会创建一个文件 java_pid< proccess_id_number_here> .hprof 在您的项目的根文件夹中。

它的大小约为 1.2 Gb ,大量的 gc开销限制超过了错误 - > 很多这些文件。您可以删除它们。



UPD 4:更新到Android Studio版本后,版本变得更快了 2.1 并在 dexOptions

maxProcessCount > dexOptions {
incremental true
maxProcessCount 4
javaMaxHeapSize5g
}

另外,我在 gradle.properties 中增加了Gradle的最大堆大小:

  org.gradle.jvmargs = -Xmx5120M 
org.gradle.daemon = true
org.gradle.parallel = true

而且我仍然使用修改过的 studio.vmoptions 文件,如上所述。


I'm using Gradle 2.0.0 with Android Studio and an empty project takes 2 minutes to build. It also creates a 100% CPU usage under Windows 8.1.

Very annoying. Even more annoying that a proper project can take up to 4-5 minutes to build, and it slows everything down.

What could cause this?

解决方案

Have the same problem since 2.0.0-rc3. And sometimes after long build (about 10 minutes) getting gc overhead limit exceeded error.

UPD: Also it uses about 6 GB disk space on SSD.

Have the next configuration:

in app's build.gradle:

dexOptions {
        javaMaxHeapSize "4g"
    }

in gradle-wrapper.properties:

org.gradle.configureondemand=true
org.gradle.daemon=true
org.gradle.parallel=true

UPD 2: I think I've found temporary solution - I've turned off Instant Run and added next configs:

in the gradle.properties:

org.gradle.jvmargs=-Xms512m -Xmx2048m
org.gradle.daemon=true
org.gradle.parallel=true

in the build.gradle:

dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }

in the studio.vmoptions:

-server
-Xms1G
-Xmx2G
-XX:MaxPermSize=450m
-XX:MetaspaceSize=512m

You can find studio.vmoptions in:

Mac OS:

~/Library/Preferences/{FOLDER_NAME}/

Linux:

~/.{FOLDER_NAME}/studio.vmoptions and/or ~/.{FOLDER_NAME}/studio64.vmoptions

Windows:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions and/or %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

UPD 3: I think, I've found why Android Studio uses so much disk space.

After every gc overhead limit exceeded error Android Studio creates a file java_pid<proccess_id_number_here>.hprof in your project's root folder.

It has size about 1.2 Gb, a lot of the gc overhead limit exceeded errors -> a lot of those files. You can just delete them.

UPD 4: Builds became much faster, after updating to Android Studio version 2.1 and adding property maxProcessCount in the dexOptions

dexOptions {
        incremental true
        maxProcessCount 4
        javaMaxHeapSize "5g"
    }

Also, I've increased the maximum heap size for the Gradle in the gradle.properties:

org.gradle.jvmargs=-Xmx5120M
org.gradle.daemon=true
org.gradle.parallel=true

And I'm still using modified studio.vmoptions file, as I've described above.

这篇关于为什么gradle 2.0这么慢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆