Я вижу следующую ошибку в Crashlytics с большим количеством инцидентов:
Caused by java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState
at android.widget.CompoundButton.onRestoreInstanceState(CompoundButton.java)
at android.view.View.dispatchRestoreInstanceState(View.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java)
at android.view.View.restoreHierarchyState(View.java)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:494)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1486)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:2466)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:620)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java)
at android.app.Activity.performStart(Activity.java)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.access$900(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
Однако эта трассировка стека ничего не говорит о моей кодовой базе, так как исключение выдается на уровне платформы.
Из того, что я прочитал, это может быть связано с дублированием идентификаторов, но я не могу найти ничего в своем коде, какие-либо идеи о том, как это отладить?
Я также попытался включить «Не сохранять действия» в параметрах разработчика, чтобы принудительно восстановить экземпляр, но я не могу воспроизвести сбой вручную.