Android应用程序:onResume()和onStart()

Android应用程序:onResume()和onStart(),android,android-lifecycle,Android,Android Lifecycle,我已经阅读了关于onResume()和onStart()的文档,但有一件事我仍然没有弄清楚,那就是在什么情况下onResume()会被调用,而之前不会调用onStart() onStart()在每次启动应用程序时被调用一次,并且在oncreate()之后实际被调用 如果应用程序已经在后台运行,则会调用onResume() 如果您使用onPause(),当您再次启动应用程序时,onResume()可能会被调用,基本上,onResume()是一个可重用的onStart(),用于应用程序已经启动的情况

我已经阅读了关于
onResume()
onStart()
的文档,但有一件事我仍然没有弄清楚,那就是在什么情况下
onResume()
会被调用,而之前不会调用
onStart()

onStart()在每次启动应用程序时被调用一次,并且在oncreate()之后实际被调用

如果应用程序已经在后台运行,则会调用onResume()

如果您使用onPause(),当您再次启动应用程序时,onResume()可能会被调用,基本上,onResume()是一个可重用的onStart(),用于应用程序已经启动的情况

onResume有时可以在切换活动时调用,onStart只在创建活动时调用。

onStart()在每次启动应用程序时调用一次,实际上在oncreate()之后调用

如果应用程序已经在后台运行,则会调用onResume()

如果您使用onPause(),当您再次启动应用程序时,onResume()可能会被调用,基本上,onResume()是一个可重用的onStart(),用于应用程序已经启动的情况

有时在切换活动时可以调用onResume,只有在创建活动时才会调用onStart。

检查下表:

如果您的活动可见但未处于活动状态,则会调用onPause,然后当您返回此活动时,会调用onResume查看下表:

如果您的活动可见但未处于活动状态,将调用onPause,然后当您返回此活动时,请参阅

当应用程序首次启动时,将调用onStart

如果用户单击“主页”按钮,或其他应用程序获得焦点,则将调用暂停

如果活动在设备上仍然运行时重新获得焦点,则将调用
onResume
,并且不会再次调用
onCreate

如果用户使用“活动管理器”关闭应用程序,然后重新启动它,则会再次调用
onCreate

注意,每次调用
onCreate
,也会调用
onResume

请参阅

当应用程序首次启动时,将调用onStart

如果用户单击“主页”按钮,或其他应用程序获得焦点,则将调用暂停

如果活动在设备上仍然运行时重新获得焦点,则将调用
onResume
,并且不会再次调用
onCreate

如果用户使用“活动管理器”关闭应用程序,然后重新启动它,则会再次调用
onCreate

注意,每次调用
onCreate
,也会调用
onResume


onResume()
在活动从后台恢复时不调用
onStart()
onResume()
在活动从后台恢复时不调用
onStart()

这样一种场景,其中
onResume()
在不调用
onStart()的情况下调用
被调用是焦点的改变。想象一下,当您使用应用程序时,屏幕上会弹出一个对话框。这是在调用
onPause()
时出现的情况,然后在取消对话框后调用
onResume()

在调用
onResume()
而不调用
onStart()
的情况下调用
onResume()
的一种情况是焦点改变。想象一下,当您使用应用程序时,屏幕上会弹出一个对话框。当调用
onPause()
时就是这种情况,然后调用
onResume()
,在取消对话框后。

我认为这个答案将有助于查看图表,它是自解释的。我认为这个答案将有助于查看图表,它是自解释的。