当用户从最近关闭应用程序时调用 onPause()
Is onPause() called when user closes the app from recents
我阅读了很多关于 activity 生命周期的内容,但找不到简单的答案。假设有人正在按下 切换应用程序 硬件按钮。当应用程序切换到不同的应用程序时 onPause()
保证被调用。同时按 Back(关闭应用程序)或 Home 将调用 onPause()
.
但问题来了。当我打开可以在应用程序之间切换的应用程序列表时,只需单击按钮即可调用 onPause()
?我的意思是只需点击 切换应用程序 调用 onPause()
?
我不清楚,文档也没有描述这种情况。
编辑:
我说 onPause()
仅在单击按钮后不被调用是错误的。对不起。
Let's assume someone is pressing Switch apps hardware button. onPause()
will not be called until someone choses a different app from the list.
您确定当您按下让您选择其他应用程序的按钮时不会调用 onPause()
直到您选择一个应用程序吗?我对此表示怀疑。
应用程序最初会在应用列表出现之前调用 onPause 方法,但不会在滑动列表时调用(甚至在选择另一个应用时)
基于Activity page,将调用onPause()
。任何在前台的应用程序都会在用户拉起应用程序列表以开始滑动应用程序时调用 onPause()
。
是的,onPause() 总是在 onDestroy() 之前被调用。它是这样的:onPaused() --> onStop() --> onDestroy()
始终遵循箭头的方向。无论如何,这些方法都是连续的。像onStop()这样的方法总是在onPause()之后和onDestroy()之前执行,不管什么情况。
activity 生命周期总是 按照文档中给出的顺序调用。意思是 onCreate
> onStart
> onResume
> onPause
> onStop
> onDestroy
。可以有一些重复调用,例如在 onResume
和 onPause
之间来回切换,因为 activity 出现在前台并移动到后台,但它们始终按此顺序.意思是,如果您确定 onDestroy
正在被调用,那么您可以确定 onPause
和 onStop
已被调用。
其实OP是对的。我也很震惊。
永远,显示最近的应用程序会触发暂停。
Android 11 的最近更改在选择其他应用程序之前不会暂停。
这意味着在 Android 最近使用的应用程序中可见的 11 个应用程序是实时的,而不是缩略图。
如果您要在暂停时显示隐私屏幕,并在恢复时关闭,您将在较早的 OS 上看到缩略图上的隐私,但在 11 上您会看到隐私在拇指上闪烁,因为它有动画选择其他应用程序后离开。
我阅读了很多关于 activity 生命周期的内容,但找不到简单的答案。假设有人正在按下 切换应用程序 硬件按钮。当应用程序切换到不同的应用程序时 onPause()
保证被调用。同时按 Back(关闭应用程序)或 Home 将调用 onPause()
.
但问题来了。当我打开可以在应用程序之间切换的应用程序列表时,只需单击按钮即可调用 onPause()
?我的意思是只需点击 切换应用程序 调用 onPause()
?
我不清楚,文档也没有描述这种情况。
编辑:
我说 onPause()
仅在单击按钮后不被调用是错误的。对不起。
Let's assume someone is pressing Switch apps hardware button.
onPause()
will not be called until someone choses a different app from the list.
您确定当您按下让您选择其他应用程序的按钮时不会调用 onPause()
直到您选择一个应用程序吗?我对此表示怀疑。
应用程序最初会在应用列表出现之前调用 onPause 方法,但不会在滑动列表时调用(甚至在选择另一个应用时)
基于Activity page,将调用onPause()
。任何在前台的应用程序都会在用户拉起应用程序列表以开始滑动应用程序时调用 onPause()
。
是的,onPause() 总是在 onDestroy() 之前被调用。它是这样的:onPaused() --> onStop() --> onDestroy()
始终遵循箭头的方向。无论如何,这些方法都是连续的。像onStop()这样的方法总是在onPause()之后和onDestroy()之前执行,不管什么情况。
activity 生命周期总是 按照文档中给出的顺序调用。意思是 onCreate
> onStart
> onResume
> onPause
> onStop
> onDestroy
。可以有一些重复调用,例如在 onResume
和 onPause
之间来回切换,因为 activity 出现在前台并移动到后台,但它们始终按此顺序.意思是,如果您确定 onDestroy
正在被调用,那么您可以确定 onPause
和 onStop
已被调用。
其实OP是对的。我也很震惊。 永远,显示最近的应用程序会触发暂停。 Android 11 的最近更改在选择其他应用程序之前不会暂停。 这意味着在 Android 最近使用的应用程序中可见的 11 个应用程序是实时的,而不是缩略图。
如果您要在暂停时显示隐私屏幕,并在恢复时关闭,您将在较早的 OS 上看到缩略图上的隐私,但在 11 上您会看到隐私在拇指上闪烁,因为它有动画选择其他应用程序后离开。