android - 再次在 Activity 生命周期 : onStart is called when it shouldn't be

标签 android android-activity android-lifecycle

首先,我阅读了 great explanation of how the activities start, suspend, resume and stop .没问题,但我有另一个问题。

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

因此,如果第一个 Activity 是 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()。

这是为什么呢?我是不是误解了什么?

最佳答案

发生这种情况是因为您的 Main Activity 完全从 View 中消失,这会触发 onStop,当您恢复时会触发 OnStart。如果您只是部分隐藏 Main 的 View ,您将只会获得 onResume。

如果您查看图表,在 onPause 和 onStop 之间,会出现“Activity 不再可见”...这就是您遇到的情况。

为了快速引用, Activity 生命周期图形:

enter image description here

关于android - 再次在 Activity 生命周期 : onStart is called when it shouldn't be,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485392/

相关文章:

java - 单击通知时启动 Activity

android - 在语音通话中使用文字转语音

ABI 缺少 Android ndkBuild android_gradle_build

android - Android 平台中的 Activity 和 View 是如何关联的?

android - 从 Android TabHost 中的选项卡 Activity 更新选项卡

Android View - onAttachedToWindow 和 onDetachedFromWindow - 它们在 Activity 生命周期中何时被调用?

java - Android 从 gridview 中删除一个项目

android - 安全异常 : Not allowed to start Service

android - 在 FragmentTransaction.replace() 后跟后退按钮后不会重新创建 ViewPager fragment

java - Android:将 onClickListener 设置为 TextView 中的部分文本 - 问题