为什么始终建议实施Parcelable
而不是Serializable
,以及后者在哪些情况下更好用?
答案 0 :(得分:2)
我认为Parcelable
与JAVA 1.1中引入的Externalizable
相同。因此,如何序列化对象是众所周知的方法。
What is the difference between Serializable and Externalizable in Java?
通常,Serializable
的缺点是性能和性能。正如在链接的答案中所说。您可以使用速度更快的第三方实现。但它永远不会像外化一样快。
Externalizable
或Parcerable
利用明确定义如何load
和store
您的对象。问题是您应该维护一个对象版本,以了解用于序列化或反序列化对象的逻辑。向后兼容性可能存在问题,编程工作要慢得多(正确:))。但是,当我们来运行这种方法时,它会更快。
答案 1 :(得分:1)
答案 2 :(得分:1)
Java Serializable: - Serializable来自标准Java并且更容易实现您需要做的就是实现Serializable接口并添加override两个方法。 Serializable的问题在于它试图适当地处理太阳下的所有事物并使用大量反射来确定被序列化的类型。所以它变成了一个强大的对象。
Androids Parcelable: - Android进程间通信(AIPC)文件,告诉Android如何编组和解组你的对象。它不太通用,不使用反射,所以它应该有更少的开销,并且要快得多