【发布时间】:2018-04-05 00:41:09
【问题描述】:
因为Parcel doc 这么说
Parcel 中任何数据的底层实现发生变化都可能导致旧数据不可读。
所以我想知道有没有办法监控这个过程,这样我们就可以防止将Parcel数据放到持久存储中。
另外,Serializable对象是否也有同样的问题,如果有,如何监控。
【问题讨论】:
标签: android parcelable serializable parcel
因为Parcel doc 这么说
Parcel 中任何数据的底层实现发生变化都可能导致旧数据不可读。
所以我想知道有没有办法监控这个过程,这样我们就可以防止将Parcel数据放到持久存储中。
另外,Serializable对象是否也有同样的问题,如果有,如何监控。
【问题讨论】:
标签: android parcelable serializable parcel
所以我想知道有没有办法监控这个过程,这样我们就可以防止将 Parcel 数据放到持久存储中。
Parcel 永远不会写入持久存储。这就是除了Serializable 之外还有Parcelable 的一部分。
Serializable 对象是否也有同样的问题
当您尝试读取旧值时,Serializable 类中的更改可能会导致问题。
如何监控
由于您是将Serializable 对象写入磁盘的人,因此请自行监控。我想不出Android会在哪里自动将您的Serializable类写入磁盘。
【讨论】:
Parcel 合同。如果这是在某处的 AOSP 中,请提出问题。如果这是在您控制的应用程序中,请修复它。