尝试在空对象引用上调用虚拟方法'boolean FragmentManagerImpl.isPrimaryNavigation(Fragment)'

时间:2019-06-26 09:00:16

标签: android android-fragments android-architecture-navigation

上次我在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)中的片段

有人遇到过什么吗?我该如何清除此崩溃?

0 个答案:

没有答案