我对 Android Activity 的生命周期有一个重大疑问。用正常的英语术语来说,一旦你完成了 Pause,Resume 就会完成。但是在 Activity 的生命周期中,甚至在第一次 onPause 之前就已经调用了 OnResume。什么是这背后的原因是什么?
谁能告诉我为什么它的结构是这样的?
谢谢。
我对 Android Activity 的生命周期有一个重大疑问。用正常的英语术语来说,一旦你完成了 Pause,Resume 就会完成。但是在 Activity 的生命周期中,甚至在第一次 onPause 之前就已经调用了 OnResume。什么是这背后的原因是什么?
谁能告诉我为什么它的结构是这样的?
谢谢。
在通用英语术语中,Resume 意味着当某事暂停后再次开始交互时,
但在 Android 术语中,这意味着当 Activity 处于前台并且用户开始向 Activity 提供输入时。它可能是第一次或什至在暂停后处于前台。onResume() 只是暗示用户已经开始与活动交互。
onStart()
并且onResume()
是两个不同的术语。onStart()
当 Activity 对用户可见时调用。并onResume()
在活动进入前台并且用户开始与之交互时调用。
我给你举个例子,
假设你有一个带有一些移动对象的活动,这里我将描述在不同阶段执行的操作,
onStart()-
活动从这里开始,而不是动画。
onResume()-
在这里,对象开始动画。
onPause()-
这里的对象停止Animation,Activity仍在运行。
OnStop-
活动在这里停止。
希望对理解有所帮助。
参考这张图片:
onResume() 将在 onStart() 之后调用。我认为您注意到的是 onResume()。这已经详细描述了活动生命周期:
OnResume:当 Activity 处于暂停状态后将开始与用户交互时调用此方法。调用此方法时,活动将移动到活动堆栈的顶部,并且正在接收用户输入。如果活动开始接受用户输入后需要执行任何任务,活动可以覆盖此方法。
您可以查看活动生命周期并确定 Android 的 onPause() 和 onResume() 概念不同。我只回答下面的问题。休息你可以阅读
谁能告诉我为什么它的结构是这样的?
从文档
onResume()
当 Activity 开始与用户交互时调用。此时,您的活动位于活动堆栈的顶部,用户输入将转到它。始终跟随 onPause()。
这意味着如果你想开始一些事情(比如一个计时器,当这个活动处于焦点并接收用户交互时显示第二个计数),你可以在 onResume() 中启动它。当这个活动成为焦点时,onResume() 是我们的回调。无论此活动是刚刚创建还是在暂停后恢复,都应该调用它。
ya 在 onStart() 之后它很好,但用英语来说,resume 会在暂停后被命名,对吗?为什么它被设计成这样,有什么理由吗?
我认为你不应该在这种情况下采取字面意思。