为什么我们使用Parceable / Serializable?

时间:2017-05-17 20:32:16

标签: java android

它们用于对象的编组/解组。如果我们谷歌我们得到如上所述的第一个结果。但到目前为止,我创建的类没有实现那些。所以我编码错误或遗漏了什么?另外,我应该在哪里使用它们?

2 个答案:

答案 0 :(得分:2)

  

为什么我们使用Parceable / Serializable?

许多应用都没有自定义ParcelableSerializable类。

  

我编码错误或遗漏了什么?

可能不是。

  

另外,我应该在哪里使用它们?

总的来说,我怀疑你可以过上长寿幸福的生活,从不实施ParcelableSerializable

关于Parcelable,这是一个用于创建对象的接口,其内容可以跨越进程边界(从应用程序到应用程序或从应用程序到OS)。许多框架类(如IntentBundle)都是Parcelable。一些开发人员为以下内容创建自定义Parcelable类:

  • onSaveInstanceState()
  • Intent用于在活动之间传递数据的附加内容
  • 跨进程绑定服务的AIDL定义接口的参数和返回值

就个人而言,我试图避免这种情况,如there are some risks when using custom Parcelable classes

Serializable是一种遗留Java机制,用于创建可以保存到磁盘并在以后恢复的对象。 AFAIK,现在在Java界普遍不赞成,因为有更好的数据存储解决方案。就在流程之间传递对象而言,Serializable几乎可以在任何地方使用ParcelableParcelable速度更快,因此除非您正在寻找古老的数据存储支持,否则请ParcelableSerializable

答案 1 :(得分:0)

Parcelables优于Serializable。 Parcelables用于在活动之间传递对象。请注意,设置一个Parcelable可能会很痛苦,所以像Parceler这样的库就是很棒的工具。