使用putExtra()将大量数据传输到Activity;

时间:2013-01-21 19:24:43

标签: android json android-intent

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

3 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

一个建议可能是:

使用parceable您正在使用可序列化的

另一个建议可能是:

使用其他内容保存/恢复数据。例如数据库

答案 2 :(得分:0)

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

虽然可以通过Android Parcelable 来完成,但它有存储限制,可能会导致此错误&#34; !!!失败的粘合剂交易!!!&#34;