我看到包裹和可串行化在某种程度上是可以互换使用的,或者至少是在相同的上下文中不直观地使用。你能为我澄清一些事情吗?
谢谢你的洞察力,不,android dev手册并没有让我明白这一点。
发布于 2012-05-03 18:07:32
我的回答是:
Serializable和Parcelable都是扁平Java对象的方法。
这些扁平的对象可以通过各种传输格式(包括磁盘文件)在进程之间传递。
可序列化来自核心Java,并且易于使用。
Parcelable来自Android,它有点复杂。
这个答案包括更多的细节:
https://stackoverflow.com/a/5551155/523135
这篇博客文章有示例代码Parcelable:
http://blog.cluepusher.dk/2009/10/28/writing-parcelable-classes-for-android/
这篇博客文章有示例可序列化代码:
http://www.javapractices.com/topic/TopicAction.do?Id=45
发布于 2015-09-10 07:27:58
阅读包裹文件。包裹不应存放在持久化的仓库里。
节选:
"...Parcel不是一种通用的序列化机制。这个类(以及相应的用于将任意对象放置到一个包中的Parcelable )被设计为一种高性能的IPC传输.“
“.将任何包数据放置到持久存储中是不合适的:对包中任何数据的底层实现的更改会使旧数据不可读。”
http://developer.android.com/reference/android/os/Parcel.html
https://stackoverflow.com/questions/10436864
复制相似问题