我正在使用android studio 1.0 RC
用于64位linux。
当我运行我的应用程序时,我正在
"java.lang.OutOfMemoryError: GC overhead limit exceeded"
当我搜索如何解决此错误时,我得到了像add:
这样的解决方案这些对我不起作用。
请帮忙。提前致谢
答案 0 :(得分:57)
我通过添加
解决了这个问题dexOptions {
incremental true
javaMaxHeapSize "4g"
}
到build.gradle文件中的android闭包。
中找到了这个答案答案 1 :(得分:11)
将其添加到“gradle.properties”文件中:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
另外,请阅读this article。您可以通过添加以下组合来使建筑更快一些:
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
编辑:根据我的经验更新的答案:
在Android Studio上,选择Help
- > Edit custom VM options
,然后设置允许IDE使用的最大内存。例如,如果您想要5GB,请使用:
-Xmx5g
保存文件,关闭IDE的所有窗口(确保它没有进程),然后重新启动IDE。
答案 2 :(得分:3)
在build.gradle
dexOptions
{
incremental false
javaMaxHeapSize "2048M"
preDexLibraries = false
}
答案 3 :(得分:1)
我也有同样的问题 - 我的原因不同。我正在努力备份一些文件,并意外地在资源文件夹中删除了一个大文件。它接近40MB。
删除此文件后,错误消失了。
答案 4 :(得分:1)
我也有这个问题
我的解决方案是:
只需修改项目根目录中的gradle.properties
:
org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
default jvmargs is 256
当你编译很多频道apk时会导致这个问题!
答案 5 :(得分:0)
答案 6 :(得分:0)
对于Android项目,您使用gradle插件,位于root build.gradle.kts:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:${gradle_plugin_version}")
}
}
将gradle_plugin_version升级到最新版本。
原因是最新的Gradle版本应与最新的Gradle插件版本一起使用。
例如,对于Gradle 6.3,您应该使用gradle-plugin 4.0.1:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:4.0.1")
}
}