gpt4 book ai didi

android - 在 Parcelable 中存储复杂的对象图?

转载 作者:行者123 更新时间:2023-12-05 00:07:32 24 4
gpt4 key购买 nike

现有的 Parcelable 示例相当简单。如果您有一个复杂的对象图,则会很快出现以下问题,质疑其可行性:

  1. 有什么方法可以防止将一个对象多次写入包裹中?
  2. 在编写时是否有任何最佳实践来限制对象图的深度?

为第一个问题举个例子,对象 A 引用 B,B 又引用 A。这个循环导致写入 A,B,A,B,A,......直到我们得到 StackOverflowError,因为没有似乎是一种仅引用先前编写的对象的方法。

对于第二个问题,让我们有一个长图 A->B->C->D->E,我们想要序列化 ​​A 并增加深度 2,这就是 A->B-> C。我们通过编写一个自定义的 writeToParcelDeep 方法来做到这一点,这当然不如标准的 writeToParcel 方便。

最佳答案

Java 序列化将保留引用并只写入一次对象。此外,当前的设备比过去的设备更强大,我不太确定性能提升是否证明编写 Parcelable 生物板代码是合理的,尤其是像您的示例中那样复杂的代码。

我将继续使用 serializable,您可以阅读更多关于我在这个主题上的发现 here .

关于android - 在 Parcelable 中存储复杂的对象图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14836064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com