【发布时间】:2012-07-23 12:51:54
【问题描述】:
我通常使用接口Parcelable 将数据从一个活动传递到另一个活动。如果数据不多,它工作正常。但是,在某些情况下,我必须将大量数据传递给 Activity。这些数据的编组似乎没有任何错误,但解组会导致如下错误:
07-23 14:26:34.215: E/AndroidRuntime(29379): java.lang.OutOfMemoryError: java.lang.Object[] of length 1075971147 exceeds the VM limit
似乎要解组的数据太多了。一个非常hackish的解决方案(我真的不喜欢)是给那个特殊的Activity一个静态方法来传递数据给它,在onCreate()寻找它。这至少适用于我可以控制源的活动,但如果我没有,则会失败。
我想知道是否还有其他可接受的尝试,将一堆数据从一个 Activity 传递到另一个。如果我可以重用我已经为 Parcelable 接口编写的一些代码,那就太好了,但这不是必需的
【问题讨论】:
-
可能有其他解决方案可以传递这么多数据,具体取决于数据的类型。您能否详细说明您试图在活动之间传递什么样的东西?
-
我必须通过业务模型对象。这些通常包含 rawTypes 或其他 parcelable-business-model 对象,这些对象再次包含原始类型(字符串、整数、浮点数、布尔值)。
标签: android ipc parcelable parcel