Android Activity-Lifecycle ...如何避免onDestroy()?

Raf*_*l T 1 lifecycle android activitygroup android-activity

我有一个App,它使用ActicityGroup来拥有一堆Activity.如果我开始一个新的Activity,我这样做我的ActivityGroup的Child.让我们假设我在我的开始活动(1),我开始一个新的(2),所以这里是被调用的:

(1):onPause()

(2):onCreate(),onStart(),onResume()

直到这里,一切都如预期的那样.如果按下我的BackButton,堆栈如下:

(2):onPause(),onStop(),onDestroy()

(1):onStop(),onDestroy()[sic]

(1):onCreate(),onStart(),onResume()

我没有理由,首先为什么(1)应该执行onStop,而onDestroy()再次重新创建,以及为什么onRestart永远不会被调用(1).

有没有人有这种行为的理由?我可以以某种方式'取消'对onStop()或onDestroy()的调用吗?任何想法apreciated

Joh*_*ini 5

在启动子活动时尝试使用FLAG_ACTIVITY_SINGLE_TOP,例如:

    Window window = getLocalActivityManager().startActivity(id,
            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP));
Run Code Online (Sandbox Code Playgroud)

更多信息:

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_SINGLE_TOP