gpt4 book ai didi

android - 超过 dagger2 GC 开销限制

转载 作者:行者123 更新时间:2023-11-30 01:15:02 25 4
gpt4 key购买 nike

我正在关注 TODO 应用程序的 Dagger2 示例,但遇到了 OutOfMemoryError:超出 GC 开销限制。随之而来的还有 600 多个警告点赞:

警告:忽略没有关联 EnclosingMethod 属性的匿名内部类 (org.eclipse.osgi.internal.baseadaptor.BaseStorage$StateSaver$1) 的 InnerClasses 属性。此类可能是由不以现代 .class 文件格式为目标的编译器生成的。推荐的解决方案是使用最新的编译器从源代码重新编译类,并且不指定任何“-target”类型选项。忽略此警告的后果是对此类的反射操作将错误地表明它*不是*内部类。

这是我的代码:dagger2 cannot find symbol ,我在 gk5885 的帮助下解决了我以前的问题。再次感谢你:-)。

在我将 SharedPreferences sharedPreferences() 添加到 NetComponent 并重建之后,程序编译了 9 分钟并最终抛出该错误。但是在没有 Dagger2 的情况下编译我的应用程序的先前版本的时间是几秒钟,因此我很确定 Dagger2 导致了这个错误。但我不知道为什么以及如何解决这个问题。

我的虚拟机大小:-Xms256m -Xmx1280m。我认为这已经足够了。

感谢任何帮助。

编辑:事实上,在我重建之前,我在 apk 错误中复制了重复的文件。我通过在 gradle 中添加这个来解决它:

packagingOptions {
exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
}

也许我应该展示我的依赖关系:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'me.yokeyword:indexablestickylistview:0.6.1'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'in.srain.cube:ultra-ptr:1.0.11'
compile files('libs/ormlite-android-4.49-SNAPSHOT.jar')
compile files('libs/ormlite-core-4.49-SNAPSHOT.jar')
compile 'com.jakewharton:butterknife:8.1.0'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
compile 'com.google.dagger:dagger:2.2' // dagger2
compile 'com.google.dagger:dagger-compiler:2.2' // dagger2
compile project(':ToggleButtonLib')
compile project(':IMKit')
}


抱歉,描述太多了....

最佳答案

你应该改变

compile 'com.google.dagger:dagger-compiler:2.2' // dagger2 

apt 'com.google.dagger:dagger-compiler:2.2' // dagger2

因为您目前正在将整个 dagger2 编译器包含到您的项目中,其中包括 Guava 和各种东西。

关于android - 超过 dagger2 GC 开销限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37981293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com