【问题标题】:Serializing object for sending inside Intent on Android序列化对象以在 Android 上发送内部 Intent
【发布时间】:2011-09-14 12:49:34
【问题描述】:

我想在 Android 上的活动和服务之间传递对象。直接的方法是让你的对象实现Serializable 或Parcelable

  • Serializable 性能比较差。
  • 另一方面,Parcelable 要求我自己实现和维护序列化,即永远记得在将来更新它。

我正在考虑使用 Jackson Json 序列化程序来完成这项任务。 它比 Java 内置的序列化更快,并且不需要我编写和维护序列化代码。

你怎么看?

【问题讨论】:

    标签: android json serialization


    【解决方案1】:

    如果性能很重要,那么您真的应该使用 Parcelable。 JSON 会相对较慢,因为它的效率低于 Parcelable,Parcelable 是专门在 Android 中实现的,用于在为进程间通信打包数据时提高性能。

    【讨论】:

    • 这是真的,android 使用 Active Objects(Binder 或 FileDescriptors)而不是老式的扁平化
    • 感谢您的回答。 Parcelable 与 Externalizable 相比如何?速度,记忆?
    • 有谁知道使用 parcelable 与 JSON 将复杂对象保存为保存状态会有什么相对差异?
    【解决方案2】:

    我相信这两种方法都有其重要性。

    • Parcelable 是一个不错的选择。但是使用 parcelable 你必须自己编写序列化代码。当您的类中有大量数据成员且您想要发送其对象时,不鼓励使用此方法。
    • 另一方面,序列化肯定是庞大的操作,但我认为很容易实现。 您必须使您的类实现可序列化。

    但您仍然可以使用另一种选择。您可以使您的对象静态并从其他活动访问它。如果对象不是很笨重,那么这也是不错的选择。

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 1970-01-01
      • 2016-01-29
      • 2011-10-05
      • 2013-07-10
      • 2012-09-07
      • 2013-10-06
      • 2021-12-08
      • 1970-01-01
      相关资源
      最近更新 更多