启动应用程序时销毁的活动

时间:2016-10-28 16:01:55

标签: android android-activity

我正在开发一个包含活动A和B的应用程序。如果我从A - >导航B,应用程序的背景然后前景应用程序活动B被销毁,我被带回活动A.

最初我认为这是一个问题,当应用程序被带到前台时,活动B的状态没有恢复,但是在实现onSavedInstanceState()/ onRestoreSavedInstanceState()之后,我仍然看到了这个问题。

在活动B的onDestroy()中放置一个断点,表明当应用程序被预设时,会立即调用ActivityThread.handleDestroyActivity(),而不会尝试恢复活动。

我目前在ActivityMan的AndroidManifest中使用android:LaunchMode="singleTask",在ActivityB中使用android:LaunchMode="standard"。 ActivityB正在ActivityA上从Fragment启动。

有没有人知道为什么Acitivty B在应用程序背景和前景之后不会持续存在?

1 个答案:

答案 0 :(得分:0)

我能够找到我在这篇文章中看到的行为的解释:Android: bug in launchMode="singleTask"? -> activity stack not preserved

基本上,如果活动使用launchMode=singleTask,则每次启动应用程序时都会重新创建任务,并且将重新启动根活动。这有效地清除了任务堆中位于活动A之上的任何活动。