Serializable如何工作以及为什么使用它比Parcelable慢?

时间:2014-02-14 09:21:18

标签: java android parcelable serializable

为什么始终建议实施Parcelable而不是Serializable,以及后者在哪些情况下更好用?

3 个答案:

答案 0 :(得分:2)

我认为Parcelable与JAVA 1.1中引入的Externalizable相同。因此,如何序列化对象是众所周知的方法。

What is the difference between Serializable and Externalizable in Java?

通常,Serializable的缺点是性能和性能。正如在链接的答案中所说。您可以使用速度更快的第三方实现。但它永远不会像外化一样快。

ExternalizableParcerable利用明确定义如何loadstore您的对象。问题是您应该维护一个对象版本,以了解用于序列化或反序列化对象的逻辑。向后兼容性可能存在问题,编程工作要慢得多(正确:))。但是,当我们来运行这种方法时,它会更快。

答案 1 :(得分:1)

来自其中一位Google工程师的回答here

好文章here

答案 2 :(得分:1)

Java Serializable: - Serializable来自标准Java并且更容易实现您需要做的就是实现Serializable接口并添加override两个方法。 Serializable的问题在于它试图适当地处理太阳下的所有事物并使用大量反射来确定被序列化的类型。所以它变成了一个强大的对象。

Androids Parcelable: - Android进程间通信(AIPC)文件,告诉Android如何编组和解组你的对象。它不太通用,不使用反射,所以它应该有更少的开销,并且要快得多