我是android新手。我已经做了一个星期。不幸的是,我无法处理生命周期方法onPause()
和onStop()
之间的差异。实际上,我阅读了有关这些方法的一些资源,但无法估计发生以下情况时将调用哪种方法。
在屏幕上显示活动X时,按下智能手机的主页按钮
在屏幕上显示活动X时,智能手机进入睡眠模式
某些智能手机可以在屏幕上显示超过应用程序窗口的内容。当屏幕上仅显示活动X时,我将活动X的窗口缩小并打开第二个应用程序。手机屏幕上将显示两个应用程序的窗口。
对于问这个问题我真的很抱歉,但是我无法克服。
有没有人可以说这两种方法中的哪一种是针对这些情况执行的,并解释这两种方法之间的区别?
答案 0 :(得分:4)
就像许多入门者一样,您可能会犯过“跳出随机教程”的错误。 Android Developers是您应该开始的地方。它具有guides,codelabs和many other resources。
话虽这么说,您关于生命周期的问题在respective Guide中得到了很好的解释。
onPause()
系统调用此方法作为用户离开活动的第一个指示(尽管并不总是意味着活动已被破坏);它表示活动不再在前台(尽管如果用户处于多窗口模式,则仍然可以看到该活动)。
然后...
onStop()
当用户不再看到您的活动时,该活动已进入“已停止”状态,并且系统调用onStop()回调。例如,当新启动的活动覆盖整个屏幕时,可能会发生这种情况。当活动完成运行并即将终止时,系统还可以调用onStop()。
除这些差异外,OnStop
将始终跟随OnPause
,并且当活动从OnStop
恢复时,它将首先进入OnRestart
,并在此期间继续恢复活动后,OnPause
将以OnResume
开头。有关更多信息,请参见下图。
如果您仍然感到困惑,请告诉我您在评论中仍然感到困惑
答案 1 :(得分:0)