2

应用程序通过其中有对象传递大量对象(解析JSON格式后大约 150 个对象)。而打开一个新活动的过程大约需要2秒……有没有办法加快这个过程?intent.putExtra();serialized

4

3 回答 3

3

如果您只想将数据从一个活动传递到另一个活动,则可以使用两个活动都可以访问的静态变量。这消除了对所有对象进行序列化和反序列化的需要。例子:

public class Globals {
    public static List<MyObject> myObjects;
}

在一项活动中,您可以设置要传入的数据Globals.myObjects,接收活动可以从那里获取数据。

请注意,这种机制确实有一些缺点(例如当 Android 杀死您的进程并稍后重新启动它时)。但是,这可能是简单地将大量对象从一个活动传递到另一个活动的最不麻烦的方法。

于 2013-01-21T19:58:16.053 回答
2

一个建议可能是:

在使用可序列化的地方使用parceable

另一个建议可能是:

使用其他东西来保存/恢复数据。例如数据库

于 2013-01-21T19:36:26.970 回答
0

我认为使用Singleton类在活动之间共享大量临时数据是一个很好的方法。保持它非常快速和简单。

虽然它可以通过 Android Parcelable完成,但它有存储限制,可能导致此错误“!!! FAILED BINDER TRANSACTION !!!”

于 2016-08-08T06:25:31.023 回答