由于 Dagger App Componenet 的初始化时间比预期长而触发 ANR

问题描述 投票:0回答:1

我在应用程序中使用 dagger 进行依赖项注入,并且在 Firebase Crashlytics 中收到此 ANR,根据日志,发生这种情况时应用程序似乎 100% 处于后台状态。

在初始化 AppComponent 之前没有发生线程繁重的进程,我不确定为什么会发生这种情况,任何帮助将不胜感激

main (runnable):tid=1 systid=26088 at com.google.common.collect.ImmutableMap$Builder.ensureCapacity(ImmutableMap.java:1) at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:420) at com.MyProject.ui.base.di.DaggerAppComponent.getMapOfClassOfAndProviderOfAndroidInjectorFactoryOf(DaggerAppComponent.java:1229) at com.MyProject.ui.base.di.DaggerAppComponent.getDispatchingAndroidInjectorOfBroadcastReceiver(DaggerAppComponent.java:1419) at com.MyProject.ui.base.di.DaggerAppComponent.injectDaggerApplication(DaggerAppComponent.java:3089) at com.MyProject.ui.base.di.DaggerAppComponent.inject(DaggerAppComponent.java:3041) at com.MyProject.ui.base.di.DaggerAppComponent.inject(DaggerAppComponent.java:496) at dagger.android.DaggerApplication.injectIfNecessary(DaggerApplication.java:78) at dagger.android.DaggerApplication.onCreate(DaggerApplication.java:53) at com.MyProject.ui.base.MyApp.onCreate(MyApp.kt:63) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7294) at android.app.ActivityThread.access$1700(ActivityThread.java:299) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2184) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:264) at android.app.ActivityThread.main(ActivityThread.java:8312) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

我尝试通过将应用程序长时间置于后台来复制此内容,但它不会像这样重现。

android dagger-2 dagger dagger-hilt
1个回答
0
投票

我也遇到类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.