对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)