Фрагмент onDetachFragment () недопустимое состояние исключения - PullRequest
0 голосов
/ 21 февраля 2019

Раньше у меня был фрагмент onDetach, и в нем я просто использовал для освобождения ресурсов (Context = null и тому подобное).С тех пор я получил пару таких незаконных государственных исключений.Я удалил onDetach и переместил код в другой метод конца жизни.Я все еще получаю это исключение, я думал, что это было от пользователей, которые не обновляли приложение, но в Android Vitalals он сказал, что это из последней версии приложения.Почему это происходит и как с этим бороться?Или это просто ошибка от консоли google play, говорящей не ту версию?

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)

1 Ответ

0 голосов
/ 21 февраля 2019

Вы пробовали это глобальное решение?

    public class MyApp extends Application {

    private static MyApp mInstance;

    @Override
    public void onCreate() {
        super.onCreate();
        mInstance = this;
    }

    public static synchronized MyApp getInstance() {
        return mInstance;
    }
}
...