对Android活动生命周期的困惑

我有一个应用程序,这是一项活动。

除了当我将手机(三星Galaxy Ace运行姜饼)放在旁边的按钮上睡觉时,一切都按照我的预期工作。 当我这样做的时候,以下是被调用的(按此顺序):

onPause,onStop,onDestroy,onCreate,onStart,onResume,onPause

这没有唤醒电话,它仍然睡着了 - 屏幕关闭。

为什么这个活动完全死亡并重新创建?

更奇怪的是,如果电话被切换回来,发生以下情况:

onResume,onPause,onStop,onDestroyed,onCreate,onStart,onResume

即使“准备好”(坐在onPause),它也会被重新杀死并重新创建。

如果应用程序正在运行,并按Home键,则只会停止活动,一旦停止活动,我就可以让手机进入睡眠状态,然后再次将其唤醒,活动永远不会中止。 它只是去RESTART等......这是我所期望的。

只有在活动正在运行时(以及在前台)将手机置于睡眠状态,才会发生此行为。

我已经阅读了关于Activity生命周期的文档,但我无法弄清楚为什么会出现这种行为。


Activity被强制以横向显示(在AndroidManifest.xml中设置)时,我在其他三星设备上具有相同的行为。

发生这种情况是因为设备锁定屏幕被强制显示为纵向,而当它位于应用程序的前面时,它会将您的顶级Activity强制为纵向。

这是没有什么可担心的,也没有什么可以改变的。

链接地址: http://www.djcxy.com/p/90803.html

上一篇: Confusion over the Android Activity Lifecycle

下一篇: When to commit application settings to SharedPreferences (onStop or onDestroy)