【问题标题】:How much info does onSaveInstanceState(Bundle outState) save?onSaveInstanceState(Bundle outState) 保存了多少信息?
【发布时间】:2017-09-15 17:07:10
【问题描述】:

我读到事务缓冲区有一个 1MB 的限制,如果我超过它,我会得到一个 TransactionTooLargeException。我想知道存储在 onSaveInstanceState 方法 中的包是否共享这 1MB?如果没有,我可以在那里保存多少信息?

我知道我可以使用 Retained Fragment 来保存复杂的数据,但我真的很想知道这个问题的答案。

谢谢。

【问题讨论】:

    标签: java android


    【解决方案1】:

    我想知道存储在 onSaveInstanceState 方法中的包是否共享这 1MB?。

    是的。在所有同时进行的 IPC 事务中,您不能拥有超过 1MB 的数据。因此,为了整体设备性能,请保持您保存的实例状态Bundlesmall。例如,不要将Customer 对象放在Bundle 中;放置一个标识符,允许您检索Customer(尽可能从内存缓存中,或者从后备存储中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多