当手机进入睡眠/待机模式时,活动/服务会发生什么?

12
当手机/应用程序进入睡眠模式时,属于该应用程序的Android应用程序、活动和服务会发生什么情况?框架是否会销毁活动和服务,操作系统是否会杀死该进程?
4个回答

14

如果设备进入休眠状态,活动的 `onPause()' 方法将被调用。阅读 活动生命周期 以了解此内容。

操作系统仅在内存/资源不足时才会杀死进程。首先终止活动,只有作为最后手段时才会终止服务。

但不能保证它们不会被终止。这就是为什么您应该依靠系统服务在需要执行某些任务时调用您的代码:使用 AlarmManager 定期调用您的代码或使用监听器通知您系统更改(GPS、网络等)。


2
当手机休眠时,活动并不会被销毁。我认为发生的所有事情就是活动保持不变,但会触发onPause()方法。
请查看此图片: alt text

1
我在我的应用程序中看到的是,只有主活动(category.LAUNCHER)的onPause()方法被调用。这是在手机进入睡眠状态之前应用程序的主活动已经启动时发生的。
当任何其他活动在手机进入睡眠状态之前启动时,首先调用第一个onPause(),然后是onStop(),最后是onDestroy() - 这适用于清单中为category.DEFAULT的活动。
我不知道问题可能出在我的代码上吗?

0
当手机进入睡眠状态时,将调用onPause()方法。该方法只是向您的应用程序发出警告。然后,根据设备,CPU也可能进入睡眠状态,您的代码执行可能会停止。在大多数设备上,这可能是在屏幕变黑后的10到60秒之间。
进入睡眠状态很不可能导致您的应用程序被杀死。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接