上次我在Crashlytics中遇到了很多类似的异常,但是完全无法重现崩溃。
看起来像Activity试图恢复状态,但是fragment没有与FragmentManager关联。
完整的堆栈跟踪看起来像
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.fragment.app.FragmentManagerImpl.isPrimaryNavigation(androidx.fragment.app.Fragment)' on a null object reference
at androidx.fragment.app.Fragment.performPrimaryNavigationFragmentChanged(Fragment.java:2710)
at androidx.fragment.app.FragmentManagerImpl.dispatchParentPrimaryNavigationFragmentChanged(FragmentManagerImpl.java:2795)
at androidx.fragment.app.FragmentManagerImpl.setPrimaryNavigationFragment(FragmentManagerImpl.java:2790)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:422)
at androidx.fragment.app.FragmentManagerImpl.completeExecute(FragmentManagerImpl.java:1979)
at androidx.fragment.app.FragmentManagerImpl$StartEnterTransitionListener.completeTransaction(FragmentManagerImpl.java:3371)
at androidx.fragment.app.FragmentManagerImpl.forcePostponedTransactions(FragmentManagerImpl.java:2102)
at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2307)
at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2832)
at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2276)
at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2335)
at androidx.fragment.app.FragmentController.saveAllState(FragmentController.java:151)
at androidx.fragment.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:513)
at androidx.appcompat.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:533)
at android.app.Activity.performSaveInstanceState(Activity.java:1495)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1387)
at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:4794)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4089)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4148)
at android.app.ActivityThread.-wrap24(Unknown Source)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1629)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
如您所见,此崩溃发生在sdk代码中,看起来像是片段库错误。但是我无法重现它以检查降级片段库版本是否可以解决它。
现在我使用androidx库(版本1.1.0-beta01)和导航(版本2.0.0)中的片段
有人遇到过什么吗?我该如何清除此崩溃?