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

Android-无需重新创建即可重新启动活动,android,android-activity,android-intent,task,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); 来自Vie

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

Intent i = new Intent(this, ViewCollection.java);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
来自ViewCollection活动的所有活动调用也由相同的方法调用。 但尽管如此,当我从它开始其他活动时,活动不断被破坏。。。 我能做些什么来解决这个问题


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

请尝试摆脱此行

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

这样,您可以返回到上一个活动

将活动启动模式设置为singletop,或将标志设置为flag
flag\u activity\u SINGLE\u TOP

处理onNewIntent()中的意图 你可以走得更远


编辑:尽管自上次进入应用程序以来,如果在活动上按back键或配置已更改,活动仍将重新创建

I在ViewCollection活动上重载onBackPressed()函数,以调用前一个活动的新意图。我希望能够在不完成活动的情况下使用“后退”按钮,以便下次我要使用它时它仍在那里。您必须覆盖onkeydown并返回true如果遇到“后退键”,您可以在此处进行检查