2017-09-15 5 views
2

トランザクションバッファには、1MBという制限があります。これを超えると、TransactionTooLargeExceptionが発生します。 onSaveInstanceStateメソッドに保存されているバンドルがこの1MBを共有しているかどうかを知りたいですか?もしそうでなければ、そこに保存できる情報はいくらですか?onSaveInstanceState(Bundle outState)はどのくらいの情報を保存しますか?

私は保持されたフラグメントを使用して複雑なデータを保存することができますが、私は本当にその質問の答えを知りたいと思っています。

ありがとうございます。

答えて

4

onSaveInstanceStateメソッドに格納されたバンドルがこの1MBを共有しているかどうかを知りたいですか?

はい。すべての同時IPCトランザクションでは、1MBを超えるデータを保持することはできません。そのため、デバイスの全体的なパフォーマンスのために、保存されたインスタンスの状態をBundleと小さくしてください。たとえば、BundleCustomerオブジェクトを入れないでください。可能であればメモリ内キャッシュから、またはバッキングストアからはCustomerを取得するための識別子を入力します。

関連する問題