android - 生命周期方法 onPause 和 onStop
问题描述
我是安卓新手。我已经为此工作了一个星期。不幸的是,我无法处理生命周期方法onPause()
和onStop()
. 实际上,我阅读了一些有关这些方法的资源,但我无法估计在发生下面列出的情况时调用了哪一个。
当屏幕上显示活动 X 时按下智能手机的主页按钮
当屏幕上显示活动 X 时,智能手机进入睡眠模式
一些智能手机可以在屏幕上显示多个应用程序窗口。当屏幕上仅显示活动 X 时,我将活动 X 的窗口变小并打开第二个应用程序。两个应用程序的窗口显示在手机屏幕上。
问这个问题我真的很抱歉,但我无法克服这个问题。
有没有人可以说出针对这些场景执行这两种方法中的哪一种并解释这些方法之间的区别?
解决方案
像许多初学者一样,您可能犯了跳出随机教程的错误。Android Developers是您应该开始的地方。它有指南、代码实验室和许多其他资源。
话虽如此,您关于生命周期的问题在相应的指南中得到了很好的解释。
暂停()
系统调用此方法作为用户离开您的活动的第一个指示(尽管它并不总是意味着活动正在被销毁);它表示活动不再在前台(尽管如果用户处于多窗口模式,它可能仍然可见)。
接着...
停止()
当您的活动不再对用户可见时,它已进入停止状态,并且系统调用 onStop() 回调。例如,当新启动的活动覆盖整个屏幕时,可能会发生这种情况。系统也可以在活动完成运行并即将终止时调用 onStop()。
除了这些差异之外,OnStop
将始终跟随OnPause
,当活动从 恢复时OnStop
,它将转到第OnRestart
一个并从那里继续,而OnPause
将OnResume
在活动恢复时开始。有关更多信息,请参见下图。
如果您仍然感到困惑,请在评论中告诉我您的困惑
推荐阅读
- flutter - Flutter Padding EdgeInsets from LTRB 将内容推到底部
- java - 实例方法是否需要访问java中的实例变量?
- postgresql - TypeOrm OneToOne 关系导致不需要的列嵌入
- database - 如何从基于 Firestore 数据库创建的用户模型中过滤数据?
- python - 使用 pandas 模拟碱基序列的 Python 演示
- blazor - 如何在 Blazor 中的页面 destory 上调用 db 方法接口?
- r - 在R中列出不同的对象长度到数据框
- pandas - Pandas df.describe(),为什么我的计数、平均值、标准、最小值显示为列?
- matlab - 根据另一个矩阵的行获取矩阵的动态行(Matlab)
- react-native - 通过深层链接导航到特定路线导航时反应本机。goBack 不起作用