其他分享
首页 > 其他分享> > 对Android Activity生命周期的困惑

对Android Activity生命周期的困惑

作者:互联网

我有一个应用程序是一个活动.

一切都按照我的预期工作,除非我把电话(三星Galaxy Ace运行姜饼)用侧面的按钮睡觉.当我这样做时,会调用以下内容(按此顺序):

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

这是没有唤醒手机,它仍然睡着了 – 屏幕关闭.

为什么活动被完全杀死并重新创建?

更奇怪的是,如果手机再切换回来会发生以下情况:

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

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

如果应用程序正在运行并按下Home,则活动仅停止,而不是被杀死,一旦停止,我可以将手机置于睡眠状态,然后再将其唤醒,活动永远不会被杀死.它只是去onRestart等……这是我所期待的.

仅当手机在活动运行时(并在前台)进入睡眠状态时,才会出现此问题.

我已经阅读了有关活动生命周期的文档,但我无法弄清楚为什么会出现这种情况.

解决方法:

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

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

这没什么好担心的,也没什么可以改变的.

标签:android,android-activity,sleep,activity-lifecycle
来源: https://codeday.me/bug/20190728/1567002.html