Android onResume()在onPause()之前调用?

时间:2012-12-28 04:50:05

标签: android android-activity

我对Android Activity的生命周期存在重大疑问。在正常的英语术语中,一旦你完成Pause,就会完成Resume.But在Activity OnResume的生命周期中,甚至在onPause之前就已经被调用了这背后的原因是什么?

有谁可以告诉我为什么它的结构是这样的?

感谢。

3 个答案:

答案 0 :(得分:2)

在一般英语术语中,“恢复”表示某些内容在暂停后再次开始交互时

  

但在Android术语中,它表示当Activity处于前台并且用户开始为活动提供输入时。它可能是第一次出现在前景中,甚至在暂停之后。 onResume()只是暗示User已经开始与活动进行交互。

onStart()onResume()是两个不同的术语。当活动对用户可见时,将调用onStart()。当活动到达前台并且用户开始与之交互时,将调用onResume()

我会举个例子,

假设您有一些移动对象的活动,这里我将描述在不同阶段执行的操作,

onStart()-此处活动开始,而不是动画。

onResume()-这里的对象开始动画。

onPause()-此处对象停止动画,活动仍在运行。

OnStop-此处活动停止。

希望它有助于理解。

答案 1 :(得分:1)

参考此图片:

Activity lifecycle

onResume()将在onStart()之后调用。我认为你注意到的是onResume()。 This详细描述了活动生命周期:

的onResume: 当活动在处于暂停状态后开始与用户交互时,将调用此方法。 调用此方法时,活动将移至活动堆栈的顶部,并且正在接收用户输入。如果活动在活动开始接受用户输入后需要执行任何任务,则活动可以覆盖此方法。

答案 2 :(得分:1)

你可以看到活动生命周期,并确定android的onPause()和onResume()概念是不同的。我只回答下面的问题..其他你可以阅读

  

有谁可以告诉我为什么它的结构是这样的?

来自documentation

  

<强>的onResume()

     

当活动开始与用户交互时调用。在这   使用用户指出您的活动位于活动堆栈的顶部   输入到它。始终跟随onPause()。

这意味着如果你想要启动一些东西(比如一个计时器,当这个活动聚焦并接收用户交互时显示第二个计数),你可以在onResume()中启动它。当此活动成为焦点时,onResume()是我们的回调。 应该调用此活动是刚刚创建,还是暂停后恢复

  

你在onStart()之后很好,但在英文方面,简历将被称为   暂停后吧?为什么它以任何理由设计   那个?

我认为在这种情况下你不应该采用字面意义。