Activity onStartメソッドの次の例外を除いて、一部のユーザーデバイスでアプリが継続的にクラッシュするという深刻な問題があります。
Caused by: Java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at Android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.Java:1299)
at Android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.Java:1310)
at Android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.Java:541)
at Android.support.v4.app.BackStackRecord.commit(BackStackRecord.Java:525)
at Android.support.v4.app.DialogFragment.show(DialogFragment.Java:123)
このエラーをエミュレータでローカルに再現できません。私はstackoverflowでこの問題に関するいくつかの質問を見つけました: ここ と ここ
私は提案された解決策を試しました。つまり、フラグメントでもアクティビティでも、onSaveInstanceで空のバンドルを許可しません。
しかし、問題は残っています。これは私が今までに受け取った唯一のクラッシュレポートであり、私はそれを継続的に受け取ります。
誰かが実用的な解決策を持っていますか?
私はこの問題を解決しました
コードについては、ここで私の答えを確認してください: "onSaveInstanceStateの後にこのアクションを実行できません"-アクティビティのonResumeメソッドからこの例外が発生するのはなぜですか?
これまでのところ、IllegalStateExceptionは発生していません。
この回避策 を使用してこれを解決しました。つまり、アクティビティのメソッドonPostResume()
関数にコードを配置します。