序列化Serializable和Parcelable

序列化介绍:

序列化:将对象转换为字节序列
反序列化:将字节序列恢复为对象

序列化使用场景:
①将内存中对象状态保存到文件或数据库中(如Session)
②使用套接字在网络传送对象
③用RMI传输对象

Java实现序列化:
引用Serializable接口,产生序列号UID即可

序列号作用:
涉及Java区分类:①用类名②相同类名用序列号
如果不写对应序列号,在更改类内容后执行序列化和反序列化,更改前后两个类的序列号不同,但实际是同一个类导致识别失败,会产生错误。

S与P两个序列化接口区别:

Serializable:
Java自带

Parcelable:
Android专用,S是将对象序列化,而P是将一个完整对象分解,将每一部分都变为可被intent传输的数据类型

两者选择:
内存中传输对象用Parcelable:性能高,产生临时变量少,每一部分都可以用intent传输

持久化用Serializable:Serializable占用的存储空间较少,由于序列号的原因也不会由于类的改变而影响反序列过程。