【发布时间】:2013-07-06 06:32:23
【问题描述】:
如果一个 Activity 显示在屏幕上并且有一个附加了一个点击监听器的按钮,它会在 onCreate 方法期间附加到按钮上,然后设备进入睡眠模式(或者用户点击电源按钮关闭屏幕),当屏幕重新打开时,活动仍然可见,就像进入睡眠模式之前一样。
onResume 被调用,它被记录为活动生命周期的一部分。我不明白为什么 onCreate 不再被调用。退出睡眠模式后,按钮的点击监听器怎么可能起作用?您会认为 Android 已经销毁了所有附加到 Activity 的正在运行的进程,其中包括按钮的点击监听器。
【问题讨论】:
-
最终你想要什么!
-
当然,这是我想要的,但我的问题是发生了什么。如果处理程序和线程没有被破坏,我只能假设 Android(或硬件)能够“暂停”所有进程的状态(除了像 AlarmManager 这样的进程),然后在设备到来时“取消暂停”这个状态退出睡眠模式。我想这只能通过设备的架构来实现,以节省电池。真正有趣的是,如果这是真的,为什么后台服务在退出睡眠模式时不保持活动状态。他们可以而且确实会在睡眠模式下被杀死。
标签: android android-activity lifecycle