1、为什么要进行序列化
因为序列化可以将对象的属性保存在文件、数据库、网络流中进行传输,在某一时刻利用这些保存的信息来进行对象的恢复
2、序列化有哪几种方式,有什么不同,优劣
序列化可以通过Serializable接口和Parcelable接口来实现,其中Serializable是java提供的接口,底层通过反射实现对序列化对象属性的保存,而Parcelable是Android提供的接口,原理是将序列化对象转换成基本数据类型进行保存,适合在内存中使用,如activity间的信息传输,效率比Serializable高,而Serializable适合在网络传输、持久化保存数据场景,Serializable不保存静态变量信息