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

GC开销限制超过Android

邢弘业
2023-03-14

在Android Studio1.5.1只是通过移动源代码从一个系统到另一个即使干净的构建是成功的,但当代码运行我得到这种错误

java.lang.OutOfMemoryError: GC开销限制超过错误:任务': app: dexDebug'执行失败。

我在应用程序中添加了以下代码。格拉德尔还:

dexOptions {
        javaMaxHeapSize "4g"
}

共有3个答案

谭裕
2023-03-14

GC开销限制超过意味着您的应用占用了所有堆,垃圾收集器无法清理足够的空间来运行程序。

因此,有太多必要的数据在内存或内存泄漏(即引用,可以从应用根访问,但不再需要)存在于您的应用程序-只有进一步的应用程序分析可以给你更多的细节

惠泳
2023-03-14

详细信息超过GC开销限制表示垃圾回收器一直在运行,Java程序进展非常缓慢。在垃圾回收机制之后,如果Java进程花费了大约98%的时间执行垃圾回收机制,并且恢复了不到2%的堆,并且到目前为止已经连续执行了最后5次(编译时间常量)垃圾回收,然后抛出java.lang.OutOfMemoryError。通常会引发此异常,因为活动数据的数量几乎不适合新分配的可用空间很少的Java堆。操作:增加堆大小。超过GC开销限制的java.lang.OutOfMemoryError异常可以使用命令行标志-XX:-UseGCOverhead Limit关闭。

这是从Oracle Java文档中获取的

吉毅
2023-03-14

更新的gradle插件默认使用R8进程进行代码收缩。您可以尝试在gradle.proeprties.中添加以下行

org.gradle.daemon=真

org.gradle.configureondemand=真

组织。格拉德尔。jvmargs=-Xmx4g-XX:MaxPermSize=2048m-XX:HeapDumpOnOutOfMemoryError-Dfile。编码=UTF-8

 类似资料:
  • 我使用Jmeter将工作负载注入部署在AWS EC2实例上的应用程序。测试必须非常庞大:它持续10个小时,工作负载配置文件具有双峰形状,在5分钟内大约有2600个请求。实际上我有一个m3。部署应用程序的xlarge实例,8 m3。xlarge实例每个实例运行一个jmeter实例。使用python脚本,要注入的工作负载在8个客户机实例之间进行分割,因此在示例中,如果原始工作负载要注入800个请求,那

  • 我的Hippo应用程序失败主要是在与我的数据库进行连接时,GC开销超过了限制,有时低于错误。 javax。jcr。RepositoryException:未经检查的异常:java。lang.OutOfMemoryError:Java堆空间 我试图尽可能地清理我的后端。我知道垃圾收集器占用的时间太长,每次运行时恢复的内存很少。所以我需要更新我的堆大小,也可以使用-XX:-usegcoveredlim

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

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

  • 我已经阅读了与此错误相关的所有其他问题,并尝试了他们的解决方案,但没有任何帮助。 这是我的身材。格拉德尔 我在Android Studio 2.1.3和Android Studio 2.2.3上试过,我试过卸载jdk,然后重新安装。我已经格式化了窗口并重试,但没有用。 我一直在学习java。lang.OutOfMemoryError:超出GC开销限制错误 我该如何解决这个问题?

  • 我得到一个java.lang.OutOfMemoryError:在Android1.4上运行gradle时超过了GC开销限制...以下是我的错误: 这怎么修复呢?