繁体   English   中英

生命周期方法onPause和onStop

[英]The lifecycle methods onPause and onStop

我是Android新手。 我已经做了一个星期。 不幸的是,我无法处理生命周期方法onPause()onStop()之间的差异。 实际上,我阅读了有关这些方法的一些资源,但无法估计在下列情况发生时调用哪个方法。

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

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

  3. 某些智能手机可能会在屏幕上显示超出应用程序窗口的内容。 当屏幕上仅显示活动X时,我将活动X的窗口缩小并打开第二个应用程序。 手机屏幕上将显示两个应用程序的窗口。

我很抱歉提出这个问题,但我无法克服。

有谁能说出在这两种情况下执行这两种方法中的哪一种并解释这些方法之间的区别?

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

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

onPause()

系统将这种方法称为用户离开您活动的第一个指示(尽管这并不总是意味着活动已被销毁)。 它表示活动不再在前台(尽管如果用户处于多窗口模式,则仍然可以看到活动)。

接着...

onStop()

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

除了这些差异之外, OnStop将始终遵循OnPause并且当活动从OnStop恢复时,它将首先进入OnRestart并从那里继续,而当恢复活动时, OnPause将以OnResume开始。 有关更多信息,请参见下图。

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

图片来源:Android开发者网站

让我以一种简单的方式为您提供帮助:-

假设我们要使用Whatsapp应用程序:

当您单击该应用程序时,将被调用的方法是:

onCreate()

onStart()

onReady()

现在假设,您按下了主页按钮,并且应用程序最小化了,将被调用的方法是:

onResume()

onPause()

onStop()

现在让我们假设您现在要回到最小的Whatsapp应用程序,将被调用的方法是:

onRestart()

onStart()

现在假设,您刚刚关闭了应用程序,并将其从任务管理器中删除,将被调用的方法是:

onStop()

onDestroy()

这是获取序列的图:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM