java中Serializable与Parcelable的使用

2020-02-17  本文已影响0人  梁佳凝

java序列化

保存内存对象的状态,包括对象的属性值,但不包括方法和static变量(因为static修饰的变量是属于类而不隶属于对象),以及用transient关键字修饰的变量(transient是禁止序列化的标识,效果等同于static修饰的变量).

java反序列化

是与java序列化相对的,表示从磁盘或者其他介质中读取序列化对象的内容.

java序列化的应用场景

内存中的对象保存到磁盘文件中

网络传输对象,比如Socket套接字传输

通过RMI(Remote Method Invoke 远程方法调用)传输对象,如android中的AIDL

java如何实现序列化

Serializable序列化的空接口,这个序列化很简单,类直接实现就可以了,记住要添加或者保留序列化版本号serialVersionUID,否则可能会造成反序列化失败.

Parcelable接口,android特有的序列化存储,传输效率高,需要实现里面的抽象方式,实现起来比较麻烦.

Parcelable的性能比Serializable好,在内存开销方面较小

上一篇下一篇

猜你喜欢

热点阅读