在android中的活动之间传递对象为什么Parcelable?为什么不是JSON字符串?

时间:2015-04-14 14:30:09

标签: android json parcelable

我想知道为什么活动之间的对象交换是Parcelable,为什么不作为JSON字符串。我知道Parcelable比Serialization更好。任何人都可以在Parcelable和JSON之间进行比较。

2 个答案:

答案 0 :(得分:2)

  

我想知道为什么活动之间的对象交换是Parcelable,为什么不作为JSON字符串

并非a Parcel中的所有内容都可以包含在JSON字符串中,例如:

  • IBinder个对象(与使用AIDL的远程服务相关联)
  • ParcelFileDescriptor
  • Exception

此外,虽然您可以将byte[]转换为String(例如,base-64编码),但这样效率会很低。

答案 1 :(得分:1)

Parcelable是非常低的水平。因此,它比Android上现有的其他所有内容(如Serializeable)快得多。 Json对于性能(在编写和阅读json时考虑性能问题)和内存空间没有任何意义。