API11(Honeycomb) 以降で Fragment Transaction#commit() のタイミングが変わる件

 

クラッシュと_ANR_-Play_Developer_Console
Honycomb(API11) 以降で問題のスタックトレース。

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1341)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1352)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)

 

なぜExceptionが?

Activity が保存された状態でコミットされて、それのステートの損失が確認された結果です。
onSaveInstanceState()が呼び出されたときに何が起きているのかを見てみましょう。

続きを読む >>