升级Android项目以使用java 8并超出GC开销限制 [英] Upgrade Android project to use java 8 and get GC overhead limit exceeded

查看:169
本文介绍了升级Android项目以使用java 8并超出GC开销限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  defaultConfig {
..昨天当我更改我的Android项目gradle文件以使用java 8功能时: 。
jackOptions {
enabled true
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

每件事都很好。我使用lambda表达式并运行该项目。

但是今天,我不知道我的项目会发生什么情况(我重新设置了master将项目升级为使用java 8功能提交)。我无法建立项目。在超过5分钟后,android studio在gradle控制台显示错误:
$ b


线程Tasks limiter_1中的异常java.lang.OutOfMemoryError:超过GC超出限额

并且卡住了

 :app:compileDebugJavaWithJack 

我注意到一个新文件创建了java_pid25702.hprof这是非常巨大的(约1.5 GB)。

我使用Android studio 2.2,java版本1.8.0_51,Mac book pro(core i7,16gb ram ),OS X 10.11.4版本

我还更改了我的android studiostudio.vmoptions:

  -Xms2048m 
-Xmx4096m
-XX:MaxPermSize = 2048m
-XX:ReservedCodeCacheSize = 1024m
-XX:+ UseCompressedOops

我看到这些帖子:错误java.lang.OutOfMemoryError:GC开销超出限制 Gradle build hanging当为Java 1.8启用jackOptions 时,但它们都不能帮助我。



我的问题是1 - 为什么我的项目昨天正常工作,但不是? 2 - 我应该怎么做?

解决方案

经过几个小时并在其他一些系统上测试项目后,我发现我应该更新Android Studio to

Android Studio 2.2稳定版本



并且更新:

  Android插件版本为2.2.0 
Gradle版本为2.14.1

在gradle控制台显示gradle堆大小较低的警告后,您应该增加以下内容:

  org.gradle.jvmargs = -Xmx1536M 

添加到项目中的 gradle.properties 文件中。现在我的项目运行没有任何问题。

Yesterday when I changed my android project gradle file to use java 8 features:

defaultConfig {
    ...
    jackOptions {
        enabled true
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

Every thing was fine. I used lambda expressions and run the project.

But today, I don't know what happen with my project(I reset master to that "upgrading project to use java 8 features" commit). I can't build project. after more than 5 mins android studio shows me an error in gradle console:

Exception in thread "Tasks limiter_1" java.lang.OutOfMemoryError: GC overhead limit exceeded

and it stuck in

:app:compileDebugJavaWithJack

I noticed that a new file created "java_pid25702.hprof" which is very huge(about 1.5 gb).

I'm using Android studio 2.2, java version "1.8.0_51", Mac book pro (core i7, 16gb ram), OS X version 10.11.4

I also changed my android studio "studio.vmoptions" :

-Xms2048m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops

I see these posts: Error java.lang.OutOfMemoryError: GC overhead limit exceeded , Gradle build hanging when jackOptions is enabled for Java 1.8 but none them helps me.

My question is 1-why my project works correctly yesterday, but not tody??! 2-what should I do?

解决方案

After a few hours and testing project on some other systems, I found that I should update Android studio to

Android Studio 2.2 stable version

and also update:

Android Plugin version to 2.2.0
Gradle Version to 2.14.1

And after that gradle console show a warning that gradle heap size is low, you should increase that by adding:

org.gradle.jvmargs=-Xmx1536M

to the gradle.properties file in your project. and now my project run without any problem.

这篇关于升级Android项目以使用java 8并超出GC开销限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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