尝试构建LibGDX项目超出了GC开销限制

时间:2014-11-10 13:36:48

标签: java android robovm

我尝试使用iOS配置运行LibGDX项目,但我一直遇到以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ios:launchIPhoneSimulator'.
> java.lang.OutOfMemoryError: GC overhead limit exceeded

我尝试使用以下参数修改gradlew文件,但我仍然遇到同样的错误:

DEFAULT_JVM_OPTS="-Xmx2048m -XX:+UseConcMarkSweepGC"

我还能做些什么来解决这个问题? 谢谢!

4 个答案:

答案 0 :(得分:7)

尝试了几种不同的东西(gradlew清理,删除依赖项并再次下载它们,将堆大小一直增加到2g等),但最终修复它的是重启机器。

是的,重新启动修复了它。怪异。

答案 1 :(得分:1)

我有同样的问题......但我找到了解决方案! 打开你的“gradle.properties”文件,它必须是这样的:

org.gradle.daemon=true
org.gradle.jvmargs=-Xms128m -Xmx512m
org.gradle.configureondemand=true

你必须编辑第二个字符串!将“-Xms128m”更改为“-Xms1024m”,将“-Xmx512m”更改为“-Xmx4096m”,最后将“gradle.properties”更改为:

org.gradle.daemon=true
org.gradle.jvmargs=-Xms1024m -Xmx4096m
org.gradle.configureondemand=true

就是这样!

答案 2 :(得分:0)

您可以通过添加下一个标志来禁用此错误:-XX:-UseGCOverheadLimit 。但这是不好的方法。

此异常发生,然后FULL GC经常工作到最后一刻并且没有释放任何内存(或释放太低的内存)。

您可以尝试添加额外的内存,例如尝试添加-Xmx3048m(或更多)。如果仍然会发生异常,那么肯定存在内存泄漏问题。

答案 3 :(得分:0)

如果你不改变你的代码,但你突然遇到这个问题,我的建议是重启android studio,清理项目,重新启动你的模拟器。如果没有,则更改build.gradle的代码。