我读到事务缓冲区有一个1MB的限制,如果超过它,我将得到一个transactiontoolargeexception。我想知道存储在onSaveInstanceState方法中的包是否共享这个1MB?如果没有,我能在那里保存多少信息?是的。
我知道我可以使用保留的片段来保存复杂的数据,但是我真的很想知道这个问题的答案。
谢谢您。

最佳答案

我想知道存储在onSaveInstanceState方法中的包是否共享这个1MB?是的。
对。在所有同时进行的IPC事务中,数据不能超过1MB。因此,为了提高设备的整体性能,请保持您保存的实例状态Bundle较小。例如,不要将Customer对象放在Bundle中;放一个允许您检索Customer的标识符(尽可能从内存缓存中,或者从备份存储中)。

08-17 18:16