Android 使用putExtra()将大量数据传输到活动;

Android 使用putExtra()将大量数据传输到活动;,android,json,android-intent,Android,Json,Android Intent,应用程序通过intent.putExtra()传递大量对象(解析JSONformat后大约150个对象) 其中包括序列化的对象。 打开一个新活动的过程大约需要2秒钟。。。 有没有办法加快这个过程?一个建议是: 使用serializable的位置 另一项建议可以是: 使用其他方法保存/恢复数据。e、 g.数据库如果您只想将数据从一个活动传递到另一个活动,则可以使用可从两个活动访问的静态变量。这样就不需要序列化和反序列化所有对象。例如: public class Globals { publ

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

一个建议是:

使用serializable的位置

另一项建议可以是:


使用其他方法保存/恢复数据。e、 g.数据库

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

public class Globals {
    public static List<MyObject> myObjects;
}
公共类全局变量{
公共静态列表myObjects;
}
在一个活动中,您可以设置要传入
Globals.myObjects
的数据,接收活动可以从那里获取数据


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

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


虽然它可以通过AndroidParcelable来完成,但是它有存储限制,这可能会导致此错误“!!!活页夹事务失败!!!”

如果您在应用程序中传递数据并且数据很大,则不要使用intent。在应用程序claas中创建存储。谷歌“android在活动之间共享数据”。谢谢!这对我来说是最简单的方法!当我使用单例类将值传递给
'页面适配器时
会得到
java.lang.IllegalStateException:应用程序的PagerAdapter在没有调用PagerAdapter的情况下更改了适配器的内容#notifyDataSetChanged!预期适配器项目数:101,找到的适配器项目数:200error@viper请为这个问题打开一个新问题。将您的问题添加到此处作为注释是不正确的方法。在使用serializable的位置使用Parcelable,因为我有一组复杂的数据-不正确。使用其他方法保存/恢复数据。e、 一个数据库,这使得双重工作。。。对所有对象使用包装器对象,这样可以减少在没有任何差异的情况下调用的函数数量。解决方案是使用全局静态包装器,正如David Wasser所说,这不是android的方式,在某些情况下可能会失败。此外,最简单的解决办法并不是最好的解决办法,但就目前而言,它是解决问题的最快办法。谢谢你的帮助!