0

我有 2 个活动,我正在尝试从 Activity A 向 Activity B 发送一些实现 Serializable 的巨大对象。问题是 Android 操作系统序列化这些对象所花费的时间。有没有办法在活动之间发送参数?我尝试发送到 Application 对象并在下一个活动中获取它,但我认为这种方式很脏......

4

2 回答 2

2

这正是 Android 创建 的原因Parcelable,因为它Serializable在这个用例中表现出色。

Android Parcelable 和 Serializable

http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/

于 2013-02-13T21:52:30.727 回答
1

Serializable以下是您可以使用的一些替代想法,而不是通过or传递大量数据Parcelable

  • 如果您经常使用这一大块数据,您可能会考虑使用Service. 它将保存数据、处理数据并在需要时交付。之后可以终止它。
  • 另一种方法是在 object 中引用这个大Application对象(如this)。“全局参考”通常听起来不太好,但在某些情况下建议这样做。更进一步,如果您仍然发现它“脏”,您可以在它传递到第二个并被它使用后WeakReference立即使用并摆脱它。Activity
  • 或者,还有另一种方式,您可以考虑以单数形式完成所有工作Activity(不开始第二个工作),然后只玩Views。如果这对你来说当然是可能的。
于 2013-02-13T22:13:54.343 回答