代码之家  ›  专栏  ›  技术社区  ›  Goktug

生命周期方法onpause和onstop

  •  0
  • Goktug  · 技术社区  · 8 年前

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

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

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

    3. 一些智能手机可以在屏幕上显示更多的应用窗口。当屏幕上只显示activity x时,我会缩小activityx的窗口并打开第二个应用程序。手机屏幕上显示了两个应用程序的窗口。

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

    有谁能说出这两种方法中的哪一种是针对这些场景执行的,并解释这些方法之间的区别吗?

    2 回复  |  直到 8 年前
        1
  •  5
  •   Stefano Mtangoo    8 年前

    像许多初学者一样,你可能犯了一个错误,跳过随机教程。 Android Developers 是你应该开始的地方。它有 guides , codelabs many other resources 是的。

    尽管如此,你关于生命周期的问题在 respective Guide .

    暂停()

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

    然后。。。

    停止()

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

    除了这些差异之外, OnStop 将永远跟随 OnPause 当活动从 顶部 ,它将转到 OnRestart 先从那里继续 暂停 将从 OnResume 当活动恢复时。有关详细信息,请参见下图。

    如果你仍然困惑,让我知道你的困惑还在评论中

    Credit: Android Developers Site

        2
  •  0
  •   Milan Pansuriya    7 年前

    让我用一种简单的方式来帮助你:

    假设我们将使用WhatsApp应用程序:

    单击应用程序时,将调用的方法为:

    创建()

    启动()

    准备就绪()

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

    恢复()

    暂停()

    停止()

    现在让我们假设您现在返回到缩小的WhatsApp应用程序,将调用的方法是:

    重新启动()

    启动()

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

    停止()

    OnDestroy()

    下面是一个图表,用于获取序列:

    enter image description here