ActivityThread.handleDestroyActivity

时间:2019-04-26 15:34:48

标签: android

最近我从Crashlytics收到了一些错误,似乎在Activity销毁时抛出了IllegalArgumentException:

Fatal Exception: java.lang.IllegalArgumentException: View=DecorView@8149dd0[] not attached to window manager
       at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:552)
       at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:433)
       at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:131)
       at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4645)
       at android.app.ActivityThread.-wrap5(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1757)
       at android.os.Handler.dispatchMessage(Handler.java:105)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

我在使用AsyncTask和ProgressDialog时已经做过一些保护,但这看起来不像是dismiss()问题。

Android API 8.x中将近80%被抛出

有人知道如何解决此问题吗?

1 个答案:

答案 0 :(得分:0)

这可能是NightMode的问题,我确实知道是什么导致了这种情况,但是当我使用时:

AppCompatDelegate.setDefaultNightMode(night ?
    .MODE_NIGHT_YES :
    .MODE_NIGHT_NO);

替换原来的

getDelegate().setLocalNightMode(night ?
    .MODE_NIGHT_YES :
    .MODE_NIGHT_NO);

然后崩溃就消失了。

我知道这可能不是一个很好的答案,但是如果您有一天遇到相同的问题,可能会给您一些提示。