尝试构建LibGDX项目时出现GC超限错误

3
我试图使用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个回答

7

尝试了几种不同的方法(gradlew clean,删除依赖项并重新下载,将堆大小增加到2g等),但最终解决问题的方法是重新启动机器。

是的,重新启动解决了问题。很奇怪。


这对我也解决了问题! - DeejUK

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

就是这样!


0
如果您的代码没有改变,但突然出现了这个问题,我的建议是重新启动Android Studio,清理项目,重启模拟器。如果还不行,那么就要更改build.gradle的代码。

0

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

当FULL GC上一分钟工作过于频繁且没有释放任何内存(或释放太少的内存)时,就会出现此异常。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接