【发布时间】:2019-02-21 10:55:53
【问题描述】:
我曾经在我的 Fragment 中有 onDetach,我只是用它来释放资源(Context = null 和类似的东西)。从那以后,我得到了一些非法状态例外。我删除了 onDetach 并将代码移到了另一个生命周期结束的方法。我仍然得到这个例外,我认为它来自没有更新应用程序的用户,但在 android vitals 中它说它来自最新版本的应用程序。为什么会发生这种情况以及如何处理?或者它只是来自谷歌游戏控制台的错误告诉错误的版本?
java.lang.IllegalStateException:
at android.support.v4.app.FragmentManagerImpl.detachFragment (FragmentManagerImpl.java)
or .saveAllState (FragmentManagerImpl.java)
at android.support.v4.app.FragmentController.saveAllState (FragmentController.java)
at android.support.v4.app.FragmentActivity.onSaveInstanceState (FragmentActivity.java)
at android.support.v7.app.AppCompatActivity.onSaveInstanceState (AppCompatActivity.java)
at android.app.Activity.performSaveInstanceState (Activity.java:1337)
at android.app.Instrumentation.callActivityOnSaveInstanceState (Instrumentation.java:1300)
at android.app.ActivityThread.callCallActivityOnSaveInstanceState (ActivityThread.java:4131)
at android.app.ActivityThread.performStopActivityInner (ActivityThread.java:3528)
at android.app.ActivityThread.handleStopActivity (ActivityThread.java:3588)
at android.app.ActivityThread.access$1200 (ActivityThread.java:165)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1404)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:150)
at android.app.ActivityThread.main (ActivityThread.java:5621)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:684)
【问题讨论】:
-
哪里有异常?我只能看到堆栈跟踪
-
java.lang.IllegalStateException: ...然后是我上面复制的内容
标签: android fragment illegalstateexception detach