我对Android Activity的生命周期存在重大疑问。在正常的英语术语中,一旦你完成Pause,就会完成Resume.But在Activity OnResume的生命周期中,甚至在onPause之前就已经被调用了这背后的原因是什么?
有谁可以告诉我为什么它的结构是这样的?
感谢。
答案 0 :(得分:2)
在一般英语术语中,“恢复”表示某些内容在暂停后再次开始交互时
但在Android术语中,它表示当Activity处于前台并且用户开始为活动提供输入时。它可能是第一次出现在前景中,甚至在暂停之后。 onResume()只是暗示User已经开始与活动进行交互。
onStart()
和onResume()
是两个不同的术语。当活动对用户可见时,将调用onStart()
。当活动到达前台并且用户开始与之交互时,将调用onResume()
。
我会举个例子,
假设您有一些移动对象的活动,这里我将描述在不同阶段执行的操作,
onStart()-
此处活动开始,而不是动画。
onResume()-
这里的对象开始动画。
onPause()-
此处对象停止动画,活动仍在运行。
OnStop-
此处活动停止。
希望它有助于理解。
答案 1 :(得分:1)
参考此图片:
的onResume: 当活动在处于暂停状态后开始与用户交互时,将调用此方法。 调用此方法时,活动将移至活动堆栈的顶部,并且正在接收用户输入。如果活动在活动开始接受用户输入后需要执行任何任务,则活动可以覆盖此方法。
答案 2 :(得分:1)
你可以看到活动生命周期,并确定android的onPause()和onResume()概念是不同的。我只回答下面的问题..其他你可以阅读
有谁可以告诉我为什么它的结构是这样的?
<强>的onResume()强>
当活动开始与用户交互时调用。在这 使用用户指出您的活动位于活动堆栈的顶部 输入到它。始终跟随onPause()。
这意味着如果你想要启动一些东西(比如一个计时器,当这个活动聚焦并接收用户交互时显示第二个计数),你可以在onResume()中启动它。当此活动成为焦点时,onResume()是我们的回调。 应该调用此活动是刚刚创建,还是暂停后恢复。
你在onStart()之后很好,但在英文方面,简历将被称为 暂停后吧?为什么它以任何理由设计 那个?
我认为在这种情况下你不应该采用字面意义。