0

我通常使用接口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(). 这至少适用于我可以控制源的活动,但如果我没有,则会失败。

我想知道是否还有其他可接受的尝试,将一堆数据从一个活动传递到另一个活动。如果我可以重用我已经为 Parcelable 接口编写的一些代码,那就太好了,但这不是必需的

4

2 回答 2

1

如何创建一个全局变量(如此所述)?曾经有一段时间我在同一个问题上苦苦挣扎,最后我发现这一切都在工作(尽管我不能说“全球”似乎是一种“好的做法”)。

于 2012-07-23T12:55:15.733 回答
1

使用总线架构(EventBus/Otto)怎么样,那么您可以在任何 Android 组件之间传输任何 POJO。

于 2015-06-10T19:21:35.543 回答