4

首先,我已经阅读了关于活动如何开始、暂停、恢复和停止的精彩解释。没关系,但我还有另一个问题。

Android 参考中的 Activity 生命周期图告诉我,如果我调用另一个 Activity,将为调用的 Activity 调用 onPause(),稍后,当另一个 Activity 结束时,调用者将通过 onResume() 恢复。

因此,如果第一个活动是 Main 而另一个是 Other,则循环将如下所示(伪代码):

Main.onCreate()
Main.onStart()
Main.onResume()
// Main is running...  Then, the user clicks a button and Other comes in front.
Main.onPause()
Other.onCreate()
// Other's lifecycle goes here... Finally, the user returns back.
Main.onResume()
// Main is running again.

这就是图表所告诉的。但是我的 Main 先是 onStart(),然后是 onResume()。

这是为什么?我误解了什么吗?

4

2 回答 2

6

发生这种情况是因为您的 Main 活动完全从视图中消失,这会触发 onStop,当您恢复时会触发 OnStart。如果你只是从你的 Main 中部分隐藏了视图,你只会得到 onResume。

如果你看一下图表,在 onPause 和 onStop 之间,有这个“活动不再可见”......这就是你所遇到的。

为了快速参考,活动生命周期图:

在此处输入图像描述

于 2012-05-07T16:27:03.030 回答
1

您被主应用程序调用的原因之一onStart()是您的主活动正在停止。那就是它onStop()正在被调用。在这种情况下首先onStart()onResume()被调用。

于 2012-05-07T16:26:17.893 回答