56

私のプロジェクトでは、フラグメントでビルドした commit メソッドを使用していました。

とにかく、時々IllegalStateException: Can not perform this action after onSaveInstanceStateエラーが発生し、それについての良い解決策を見つけることができませんでしたが、この方法だけcommitAllowingStateLoss()です。commit 関数を に変更しましcommitAllowingStateLoss()たが、長い間テストに使用していなかったので、この関数が役に立ちますか? commit()そして主な質問は、との違いは何commitAllowingStateLoss()ですか?

4

2 に答える 2

103

commit()との違いは 1 つだけcommitAllowingStateLoss()です。状態が失われた場合、後者は例外をスローしません。それ以外は、同じ動作をします。

詳細については、このトピックに関する私のブログ投稿を参照してください。

于 2013-08-20T22:02:11.143 に答える