Android - 无需重新创建活动即可重新启动活动

时间:2012-01-09 17:16:32

标签: android android-activity android-intent task

我有一个显示图像的活动(ViewCollection.java)。我想只创建一次,然后重新使用该实例来进一步显示来自不同调用的更多图像(初始化活动很昂贵)。 到目前为止,我发起了这样的活动:

Intent i = new Intent(this, ViewCollection.java);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

来自ViewCollection活动的所有活动调用也由同一方法调用。 但尽管如此,当我开始其他活动时,活动仍然会被破坏...... 我该怎么做才能解决这个问题?

* PS:活动设置为“标准”启动模式

2 个答案:

答案 0 :(得分:3)

将活动启动模式设置为singletop或设置标志FLAG_ACTIVITY_SINGLE_TOP 处理onNewIntent()中的意图 您可以进一步details here

编辑:虽然如果在您上次进入应用程序后更改的活动或配置上按了后退键,则仍会重新创建活动

答案 1 :(得分:0)

尝试摆脱这一行

 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

通过这种方式,您可以返回上一个活动