2015-06-18 90 views
-3

我读了很多关于活动生命周期的内容,但找不到简单的答案。假设有人按切换应用程序硬件按钮。当应用切换到不同的应用onPause()保证被调用。同时按返回(关闭应用程序)或首页将调用onPause()当用户从最近关闭应用程序时调用onPause()

但是,这是一个问题。当我打开应用程序列表,我可以在应用程序之间切换时,只需点击按钮即可调用onPause()?我的意思是只需点击切换应用程序调用onPause()

我不清楚,文件没有描述这种情况。

编辑: 我错了,说onPause()没有在按钮点击后才被调用。对不起。

+0

@downvoter小心评论我的答案有什么问题吗?你在我发布它的毫秒内立即下降了。 –

+0

@Sharpedge告诉我这件事。 -_- – Galax

+0

“onPause()将不会被调用,直到有人从列表中选择了一个不同的应用程序为止”这是错误的,至少在我的设备上按下按钮以显示应用程序列表时会调用onPause。 – M4rtini

回答

1

onPause()将被调用。在用户拉起应用程序列表开始刷新应用程序时,任何位于前台的应用程序都会调用onPause()

0

让我们假设有人按开关应用程序硬件按钮。直到有人从列表中选择不同的应用程序,才会调用onPause()

你确定当你按下按钮,让你选择其他应用程序不会调用onPause(),直到你选择一个应用程序?我不信。

+0

它在显示应用列表之前立即调用onPause。 – Galax

+0

是的,我知道这..那就是我说,OP说,选择一个应用程序后调用onPause().. –

+1

确实,他错了:) – Galax

0

应用程序最初将调用的onPause方法出现的应用程序列表中,右键之前,而不是在它被滑开(或者即使选择了另一个应用程序)根据Activity page

0

是onPause()总是在onDestroy()之前调用。它是这样的:onPaused() - >的onStop() - >的onDestroy()

enter image description here

始终遵循箭头的方向。无论如何,这些方法都是连续的。像onStop()这样的方法总是在onPause()之后和onDestroy()之前执行,无论情况如何。

+0

'onPause()'是唯一可以保证被调用的人。 'onStop()'和'onDestroy()'可能不是。 –

+0

我以为他的意思是他刷了应用程序本身...不是其他应用程序 –

+0

“但是,当我打开应用程序列表,我可以在应用程序之间切换时,我将刷卡应用程序关闭它,将onPause )被调用吗?我知道在这种情况下总是调用onDestroy(),但在onDestroy()之前总是调用onPause()? - 他在这里的意思是完全正确的。他意味着他将应用程序本身移开。 –

0

活动生命周期为总是按文档中给出的顺序调用。含义onCreate>onStart>onResume> >onStop>onDestroy。可能会有一些重复的呼叫,例如在活动进入前台并移动到后台时,在onResume和之间来回切换,但它们总是按此顺序排列。意思是,如果您确定onDestroy正在被调用,那么您可以确定和onStop已被调用。

相关问题