一、什么是对象序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。(即表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地)
1)永久性保存对象,保存对象的字节序列到本地文件中;
2)通过序列化对象在网络中传递对象;
3)通过序列化在进程间传递对象
二、Parcelable
方式的实现原理是将一个完整的对象进行分解,而分解后的每一部分都是Intent所支持的数据类型,这样也就实现传递对象的功能。
三、Serializable
某个类以及它的属性实现Serializable 接口即可。Serializable 接口是一种标识接口(markerinterface),这意味着无需实现方法,Java便会对这个对象进行高效的序列化操作。这种方法的缺点是使用了反射,序列化的过程较慢。这种机制会在序列化的时候创建许多的临时对象,
四、Parcelable和Serializable区别
- 编码上:
Serializable代码量少,写起来方便
Parcelable代码多一些 - 效率上:
Parcelable的速度比高十倍以上
Serializable容易触发垃圾回收。
网友评论