Serializable 和 Parcelable 区别

2020-07-02  本文已影响0人  杰奎琳子

序列化详细解释:

  将对象排列成一组字节序列然后进行存储的过程

 反序列化详细解释:

  将存储在内存或者硬盘的字节序列变成对象的过程

Java对象与Java对象序列化的区别

Java对象存在的前提必须在JVM运行期间存在,如果想在JVM非运行的情况下或者在其他机器JVM上获取指定Java对象,在现有Java对象的机制下都不可能完成。

与Java对象不同的是,如果对Java对象执行序列化操作,因为原理是把Java对象信息保存到存储媒介,所以可以在以上Java对象不可能存在的两种情况下依然可以使用Java对象

Serializable与Parcelable区别

两者最大的区别在于存储媒介的不同,Serializable使用IO读写存储在硬盘上,而Parcelable是直接在内存中读写,很明显内存的读写速度通常大于IO读写,所以在Android中通常优先选择Parcelable

Parcelable的性能比Serializable好,在内存开销方面较小,数组仅仅存在内存中,因为android不同版本Parcelable可能不同,所以不推荐使用Parcelable进行数据持久化

Serializable 将对象属性存储在硬盘或网络,数据库中。使数据持久化

相同点:

      序列化的这些操作完全都是由底层实现。

上一篇下一篇

猜你喜欢

热点阅读