序列化是一种用来处理对象流的机制。对象流就是将对象的内容进行流化,可以对流化后的对象进行读写操作,也可以将流化后的对象传输于网络之间。序列化是为了解决钻对对象进行读写操作时所引发的问题。
Serializable和Parcelable都是实现序列化的接口:
1.Parcelable定义了将数据写入Parcel和从Parcel中读出的接口。一个实体(用类表示)如果需要封装到消息中去,就必须实现这一接口,该实体就成为了可打包的了。Parcelable的实现,需要在勒种添加一个静态成员变量CREATOR,这个变量需要继承Parcelable.Creator接口。
2.Serializable一个对象序列化的接口,一个类只有实现了Serializable接口,她的对象才是可序列化的,即若序列化的对象要实现Serializable接口。Serializable是一个空接口,没有具体的内容,它的目的只是简单的标识一个类的对象可以被序列化,只需implements Serializable即可。
3.比较:serializable是java.io中的,不可被activity中国的内部类继承。而parcelable是android特有的,比serilizable节省内存,可以传递bundle对象,当我们有boolean没醒变量时可以存在bundle中。