首页 > 解决方案 > 生命周期方法 onPause 和 onStop

问题描述

我是安卓新手。我已经为此工作了一个星期。不幸的是,我无法处理生命周期方法onPause()onStop(). 实际上,我阅读了一些有关这些方法的资源,但我无法估计在发生下面列出的情况时调用了哪一个。

  1. 当屏幕上显示活动 X 时按下智能手机的主页按钮

  2. 当屏幕上显示活动 X 时,智能手机进入睡眠模式

  3. 一些智能手机可以在屏幕上显示多个应用程序窗口。当屏幕上仅显示活动 X 时,我将活动 X 的窗口变小并打开第二个应用程序。两个应用程序的窗口显示在手机屏幕上。

问这个问题我真的很抱歉,但我无法克服这个问题。

有没有人可以说出针对这些场景执行这两种方法中的哪一种并解释这些方法之间的区别?

标签: androidandroid-activity

解决方案


像许多初学者一样,您可能犯了跳出随机教程的错误。Android Developers是您应该开始的地方。它有指南代码实验室许多其他资源

话虽如此,您关于生命周期的问题在相应的指南中得到了很好的解释。

暂停()

系统调用此方法作为用户离开您的活动的第一个指示(尽管它并不总是意味着活动正在被销毁);它表示活动不再在前台(尽管如果用户处于多窗口模式,它可能仍然可见)。

接着...

停止()

当您的活动不再对用户可见时,它已进入停止状态,并且系统调用 onStop() 回调。例如,当新启动的活动覆盖整个屏幕时,可能会发生这种情况。系统也可以在活动完成运行并即将终止时调用 onStop()。

除了这些差异之外,OnStop将始终跟随OnPause,当活动从 恢复时OnStop,它将转到第OnRestart一个并从那里继续,而OnPauseOnResume在活动恢复时开始。有关更多信息,请参见下图。

如果您仍然感到困惑,请在评论中告诉我您的困惑

图片来源:Android 开发者网站


推荐阅读