所以我在打瞌睡期间阅读了很多关于 android 服务及其生命周期的帖子。
至今:
后台服务受打盹模式的限制。
前台服务不受打盹模式的影响。这意味着他们继续拥有访问网络等。
有很多关于打盹模式和前台服务的帖子,但没有一个是指当睡眠模式启动时前台服务会发生什么。
睡眠模式- 意味着 CPU 将处于睡眠状态,并且不会接受除 RIL(无线电接口层)和警报之外的任何命令。LCD 关闭后,CPU 将在几秒钟内进入睡眠模式。
打盹模式- 意味着您手机上的应用程序将无法访问网络,当应用程序试图阻止设备进入睡眠状态时,系统将忽略“唤醒锁”,并且不允许运行任何后台任务。这肯定会让你的手机听起来对你没有多大好处,但是 Doze 有几种方法可以保留功能。虽然应用程序无法唤醒设备以运行同步作业和其他后台任务,但仍会显示高优先级推送消息。例如,一条环聊消息将出现在处于打盹模式的设备上。
应用待机- 进入待机状态的应用会失去所有网络访问权限,并且其所有后台同步作业都会暂停。当您的手机插入电源时,这些限制会暂时解除,并且每天或每两天持续几分钟。这使暂停的应用程序有机会运行任何挂起的同步作业,但不允许它们继续运行。高优先级推送通知也将能够在短时间内将应用程序从待机状态唤醒。
问题:
- 前台服务在睡眠模式下也会暂停吗?如果是,他们是重新开始还是从中断的地方继续?
- 当前台服务处于活动状态时,设备是否会进入睡眠模式?