最近我从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%被抛出
有人知道如何解决此问题吗?
答案 0 :(得分:0)
这可能是NightMode的问题,我确实知道是什么导致了这种情况,但是当我使用时:
AppCompatDelegate.setDefaultNightMode(night ?
.MODE_NIGHT_YES :
.MODE_NIGHT_NO);
替换原来的
getDelegate().setLocalNightMode(night ?
.MODE_NIGHT_YES :
.MODE_NIGHT_NO);
然后崩溃就消失了。
我知道这可能不是一个很好的答案,但是如果您有一天遇到相同的问题,可能会给您一些提示。