2
我读了事务缓冲区的限制是1MB,如果我超过它,我会得到一个TransactionTooLargeException。我想知道是否存储在onSaveInstanceState方法中的包是否共享此1MB?如果没有,我可以在那里保存多少信息?onSaveInstanceState(Bundle outState)保存多少信息?
我知道我可以使用保留片段来保存复杂的数据,但我真的很想知道这个问题的答案。
谢谢。
我读了事务缓冲区的限制是1MB,如果我超过它,我会得到一个TransactionTooLargeException。我想知道是否存储在onSaveInstanceState方法中的包是否共享此1MB?如果没有,我可以在那里保存多少信息?onSaveInstanceState(Bundle outState)保存多少信息?
我知道我可以使用保留片段来保存复杂的数据,但我真的很想知道这个问题的答案。
谢谢。
我想知道存储在onSaveInstanceState方法中的bundle是否共享这个1MB?
是的。在所有同时进行的IPC事务中,不能有超过1MB的数据。出于这个原因,并且为了整体设备性能,请保留您保存的实例状态Bundle
小号。例如,不要在Bundle
中放入一个Customer
对象;放置一个标识符,允许您检索Customer
(从可能的内存缓存中,或从后备存储库中)。