防止活动堆栈被还原?

Nat*_*Fig 26 android kill process activity-stack android-activity

当应用程序的进程被终止时,将保存其活动堆栈.然后,当重新启动应用程序时,我的所有活动都会恢复并运行为空指针.我宁愿让我的应用程序从基本活动开始,而不是尝试重新创建活动堆栈,而不是修改每个活动以适应此事件.

这可能吗?

我知道Intent.FLAG_ACTIVITY_CLEAR_TOP,但据我所知,只会在重新创建后杀死活动.

编辑:是clearTaskOnLaunch我想要什么?我已将其添加到我的默认活动中,但看不到任何效果.但即使我只是最小化应用程序,这也会扼杀我的活动,不是吗?如果整个过程重启,我宁愿只清除堆栈.

编辑2:不,这不是我想要的 - 一位Android工程师对如何使用ClearTaskOnLaunch的一些问题做出了彻底的回应:http://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f/ab1e2b35c360cb65 ?PLI = 1

Nat*_*Fig 10

我能找到的唯一解决方案是在onCreate()的每个实例中检查一个全局静态变量,并在该变量重置为null时完成,表明任务已重新启动.我将所有活动关闭到我的根活动并重新开始.

很快,我希望我的应用程序可以在onPause()中保存所需的值,但是直到那时这是我知道使用丢失初始化的唯一可靠方法...

  • 4年后,我正在读这个答案,并认为那里必须有一个更好的方法...... (5认同)