Serializable和Parcelable的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Serializable和Parcelable的区别相关的知识,希望对你有一定的参考价值。

参考技术A 我们知道Serializable和Parcelable都是用来序列化的。

比如我们在Activity之间传递数据的时候,无法直接把对象从一个Activity传递到另一个Activity,所以这时就需要我们把对象序列化,转换成可传输或可存储的状态。序列化后的对象可以在网络进行传输,也可以存储到本地。

1.实现Serializable接口
因为这种方式书写简单,我们可能在平时使用这种方式比较多一些:

2.实现Parcelable接口

1.Serializable是Java提供的序列化接口,Parcelable是Android提供的序列化接口。Android中设计Parcelable的初衷是因为Serializable太慢。为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder通信的消息的载体。
2.如果想实现数据持久化保存使用Serializable,Binder通信中的AIDL使用Parcelable。Serializable是序列化到硬盘上。Serializable序列化实际上是用到了反射技术,反射会产生大量的临时对象,进而引起频繁的GC。

parcelable 和 serializable 区别

 韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha

 

serializable 是 java 中的 序列化 接口。 

parcelable 是 安卓 中的 序列化接口。

 

Parcelable的性能比Serializable好,在内存开销方面较小,所以在内存间数据传输时推荐使用Parcelable,如activity间传输数据,而Serializable可将数据持久化方便保存,所以在需要保存或网络传输数据时选择Serializable,因为android不同版本Parcelable可能不同,所以不推荐使用Parcelable进行数据持久化

 

 

serializable 是 可序列化的  ,可串行化的 的意思。

Parcelable  没有这个单词的解释。。

 

序列化 是什么意思?    序列 就是 排成一列的东西。   有顺序。

 

以上是关于Serializable和Parcelable的区别的主要内容,如果未能解决你的问题,请参考以下文章

Parcelable和Serializable的区别

Parcelable和Serializable的区别

Parcelable和Serializable的区别

Serializable & Parcelable 原理和区别

Serializable & Parcelable 原理和区别

Android中的Parcelable接口和Serializable用法和区别