首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中启用R8 Shrinker时超过GC开销限制

在Android中启用R8 Shrinker时超过GC开销限制
EN

Stack Overflow用户
提问于 2019-01-12 17:18:09
回答 2查看 12.7K关注 0票数 28

我正在使用AndroidStudio3.4(金丝雀9),当我构建我的应用程序时,它失败了,出现了以下错误

任务:app:transformClassesAndResourcesWithR8ForDebug R8是一个实验特性。如果您遇到任何问题,请使用“Shrinker(R8)”作为组件名,在R8上提交一个bug。您可以通过使用'android.enableR8=false‘更新R8来禁用gradle.properties。 AGPBI:{“类别”:“警告”,“文本”:“缺失类: java.lang.instrument.ClassFileTransformer",”源“:{},”工具“:”D8“} 任务:app:transformClassesAndResourcesWithR8ForDebug失败 失败:生成失败,出现异常。

  • 出了什么问题:任务':app:transformClassesAndResourcesWithR8ForDebug'.的执行失败

超过GC开销限额

当我通过在gradle.properties.中放置android.enableR8=false来禁用android.enableR8=false时一切都很好。

那么,如何在不禁用R8 Shrinker的情况下修复此错误?因为我真的很想测试R8的功能。

EN

回答 2

Stack Overflow用户

发布于 2019-01-17 16:52:46

正如您所说的,您没有使用任何自定义JVM args,请尝试一下。

gradle.properties文件中,尝试内存设置的几个值。例如,尝试设置

代码语言:javascript
复制
org.gradle.jvmargs=-Xmx4096m

正如评论部分所建议的那样:

指定用于守护进程的JVM参数。 此设置对于调整内存设置特别有用。 Org.gradle.jvmargs=-xx1536m

我在我的项目中使用了R8,一切都很好。

票数 43
EN

Stack Overflow用户

发布于 2021-08-03 07:16:11

有时候,添加JVM堆内存并不能解决这个问题,特别是在内存有限的系统上,它会导致其他问题。我的建议是尝试替换垃圾收集器。

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC

超出GC开销限制的是默认情况下的异常抛出java 8垃圾收集器(并行)。就我而言,它解决了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54162015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档