Android Serializable接口与Parcelable接口

来源:互联网 发布:合肥怎么样知乎 编辑:程序博客网 时间:2024/06/06 15:34

转载请注明来自:黄朝辉的博客

引入

在Android中,我们不能直接传递一个对象给Activity,除非这个对象实现了Serializable或者Parcelable接口。
Serializable是一个标准的Java接口。这种方法使用了反射,同时,创建了大量的临时对象,可能导致Java的垃圾回收。
为什么Android不使用Java内置的序列化机制?因为Android团队认为,在Android中Java的序列化太慢了,不能满足Android进程间通信的需要。所以Android团队提出了Parcelable这个解决方案。Parcelable方法要求你显式的序列化你类中的成员,从而为对象实现了更快的序列化。

结论

  1. Parcelable比Serializable快;
  2. 实现Parcelable接口要比实现Serializable接口花的时间多;
  3. Serializable接口特别容易实现;
  4. Serializable接口创建了大量临时对象,造成垃圾回收;
  5. 在Android中,Parcelable数组能通过Intent传递。

参考

  1. http://stackoverflow.com/questions/3323074/android-difference-between-parcelable-and-serializable
1 0