添加Intent putextra方法需要时间

时间:2011-07-18 14:05:54

标签: android

我在Intent的putextra()方法中添加了一些大的可序列化对象(比如数据):

Intent intent = new Intent(currentScreen, newScreen.getClass());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Bundle bundle = new Bundle();
intent.putExtra("DATA", data);
intent.putExtras(bundle);
currentScreen.startActivity(intent);

newScreen需要很长时间才能启动和显示。

请告诉我如何克服这个问题。

由于 Android_IT

2 个答案:

答案 0 :(得分:2)

不要只是假设大量额外数据导致您的应用变慢。使用Traceview对其进行配置并确保。如果它确实是问题所在,我唯一的建议是在开始新活动之前将其存储在静态成员中,然后从那里检索它。这样它就不会被复制并序列化/反序列化。

答案 1 :(得分:0)

如果NewScreen占用太多时间,你可能会在NewScreen的onCreate方法中执行一些耗时的任务。通过打印一些日志来查看在那里发生的事情,看看onSreate of newScreen是否立即被激活