我在执行junit测试时收到以下错误消息:
java.lang.OutOfMemoryError: GC overhead limit exceeded
我知道这是什么 OutOfMemoryError 是的,但是gc开销限制是什么意思?我怎样才能解决这个问题?
OutOfMemoryError
hkmswyz616#
重新启动我的macbook为我解决了这个问题。
1tuwyuhd17#
在build.gradle中增加javamaxheapsize(module:app)文件
dexOptions { javaMaxHeapSize "1g" }
to(在gradle中添加此行)
dexOptions { javaMaxHeapSize "4g" }
1sbrub3j18#
在netbeans中,设计最大堆大小可能会有所帮助。转到运行=>设置项目配置=>自定义。在弹出的窗口中,转到vm选项,填写 -Xms2048m -Xmx2048m . 它可以解决堆大小问题。
-Xms2048m -Xmx2048m
t9aqgxwy19#
我在androidstudio工作,在尝试生成要发布的签名apk时遇到了这个错误。我能够毫无问题地构建和测试一个调试apk,但是只要我想构建一个发布apk,构建过程就会连续运行几分钟,最后以“error java.lang.outofmemoryerror:gc overhead limit exceeded”结束。我增加了vm和androiddex编译器的堆大小,但问题仍然存在。最后,经过几个小时和一大杯咖啡之后,我发现问题出在我的应用程序级别“build.gradle”文件中——我将发布版本类型的“minifyenabled”参数设置为“false”,因此,在没有经过“代码收缩”过程的代码上运行proguard stuff(请参阅https://developer.android.com/studio/build/shrink-code.html). 我将“minifyenabled”参数更改为“true”,发布版本像做梦一样执行:)简而言之,我必须将我的应用程序级别的“build.gradle”文件从://。。。
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.sign_config_release } debug { debuggable true signingConfig signingConfigs.sign_config_debug } } //...
到
//... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.sign_config_release } debug { debuggable true signingConfig signingConfigs.sign_config_debug } } //...
aydmsdu920#
试试这个打开 build.gradle 文件
build.gradle
android { dexOptions { javaMaxHeapSize = "4g" } }
20条答案
按热度按时间hkmswyz616#
重新启动我的macbook为我解决了这个问题。
1tuwyuhd17#
在build.gradle中增加javamaxheapsize(module:app)文件
to(在gradle中添加此行)
1sbrub3j18#
在netbeans中,设计最大堆大小可能会有所帮助。转到运行=>设置项目配置=>自定义。在弹出的窗口中,转到vm选项,填写
-Xms2048m -Xmx2048m
. 它可以解决堆大小问题。t9aqgxwy19#
我在androidstudio工作,在尝试生成要发布的签名apk时遇到了这个错误。我能够毫无问题地构建和测试一个调试apk,但是只要我想构建一个发布apk,构建过程就会连续运行几分钟,最后以“error java.lang.outofmemoryerror:gc overhead limit exceeded”结束。我增加了vm和androiddex编译器的堆大小,但问题仍然存在。最后,经过几个小时和一大杯咖啡之后,我发现问题出在我的应用程序级别“build.gradle”文件中——我将发布版本类型的“minifyenabled”参数设置为“false”,因此,在没有经过“代码收缩”过程的代码上运行proguard stuff(请参阅https://developer.android.com/studio/build/shrink-code.html). 我将“minifyenabled”参数更改为“true”,发布版本像做梦一样执行:)
简而言之,我必须将我的应用程序级别的“build.gradle”文件从://。。。
到
aydmsdu920#
试试这个
打开
build.gradle
文件