我有一个应用程序是一项活动。
一切都按照我的预期工作,除非我把手机(三星Galaxy Ace运行姜饼)与侧面的按钮一起睡觉。当我这样做时,会调用以下内容(按此顺序):
onPause,onStop,onDestroy,onCreate,onStart,onResume,onPause 。
这是没有唤醒手机,它仍处于睡眠状态 - 屏幕关闭。
为什么活动被完全杀死并重新重新创建?
更奇怪的是,如果手机重新启动,则会发生以下情况:
onResume,onPause,onStop,onDestroyed,onCreate,onStart,onResume
即使它已经“准备好了”(坐在onPause上),它也会被杀死并重新创建。
如果应用程序正在运行并按下Home,则活动仅停止,不会被杀死,一旦停止,我可以将手机置于睡眠状态,然后再将其唤醒,活动永远不会被杀死。它只是转到onRestart等......这就是我所期望的。
仅当手机在活动运行时(以及在前台)进入睡眠状态时才会出现此问题。
我已经阅读了有关活动生命周期的文档,但我无法弄清楚为什么会出现这种情况。
答案 0 :(得分:7)
当Activity
被强制显示在横向(在AndroidManifest.xml中设置)时,我在其他三星设备上有相同的行为。
发生这种情况是因为设备锁定屏幕被强制显示为纵向,当它位于您的应用程序前面时,会强制您的顶级Activity
成为肖像。
这无需担心,也无法改变。