当前位置: 首页 > 知识库问答 >
问题:

升级Android项目以使用java 8并获得超出GC开销限制的权限

王庆
2023-03-14

昨天,当我将android project gradle文件更改为使用java 8功能时:

defaultConfig {
    ...
    jackOptions {
        enabled true
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

一切都很好。我使用lambda表达式并运行该项目。

但今天,我不知道我的项目会发生什么(我将master重置为“升级项目以使用Java8特性”提交)。我不能建立一个项目。超过5分钟后,android studio在gradle控制台中显示一个错误:

异常线程"任务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 studio“studio.vmoptions”:

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

我看到这些帖子:errorjava。lang.OutOfMemoryError:超出了GC开销限制,当Java 1.8启用jackOptions时,Gradle构建挂起,但它们都没有帮助我。

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

共有1个答案

华凡
2023-03-14

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

Android Studio 2.2稳定版

并更新:

Android Plugin version to 2.2.0
Gradle Version to 2.14.1

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

org.gradle.jvmargs=-Xmx1536M

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

 类似资料:
  • 在Android Studio1.5.1只是通过移动源代码从一个系统到另一个即使干净的构建是成功的,但当代码运行我得到这种错误 java.lang.OutOfMemoryError: GC开销限制超过错误:任务': app: dexDebug'执行失败。 我在应用程序中添加了以下代码。格拉德尔还:

  • 使用当我尝试构建我的项目时,这种错误越来越多: 错误:任务“:app:CompiledEbugJavaWithJavac”执行失败。OutofMemoryError:超出GC开销限制 有什么办法解决这个问题吗?

  • 我正在尝试预处理一个大的txt文件(10G),并将其存储在二进制文件中以备将来使用。当代码运行时,速度会减慢,并以 异常线程"main"java.lang.OutOfMemoryError: GC开销限制超过 输入文件具有以下结构 这是我正在使用的代码: 基本上,它通过in文件并将数据存储到对象HMbicnt(这是一个哈希映射)。一旦在第二列中遇到新值,它应该将对象写入输出文件,释放内存并继续。

  • Im得到"GC开销限制超过"异常,同时试图获得行计数。你能让我知道是什么问题吗 Java代码:

  • 在Android Studio的一些更新之后,我无法构建签名的APK,因为它失败了,“超出了GC开销限制”。我试图补充 dexOptions{javaMaxHeapsize"4g"} 但这没用。还有其他解决方法吗?

  • 问题内容: 我正在尝试建立一个包含2台服务器的Gridgain集群。 使用 GridDataLoader 将.csv文件中的数据(100万至5000万个数据)加载到Gridgain 。 从加载的数据中找到最小值,最大值,平均值等, 当在Eclipse中作为独立应用程序运行时,我得到正确的输出。 但是,在建立集群(eclipse环境中的2个服务器中的2个节点+我的Eclipse环境中的1个节点)的同