1

所以我在打瞌睡期间阅读了很多关于 android 服务及其生命周期的帖子。

至今:

后台服务受打盹模式的限制。

前台服务不受打盹模式的影响。这意味着他们继续拥有访问网络等。

有很多关于打盹模式和前台服务的帖子,但没有一个是指当睡眠模式启动时前台服务会发生什么。

睡眠模式- 意味着 CPU 将处于睡眠状态,并且不会接受除 RIL(无线电接口层)和警报之外的任何命令。LCD 关闭后,CPU 将在几秒钟内进入睡眠模式。

打盹模式- 意味着您手机上的应用程序将无法访问网络,当应用程序试图阻止设备进入睡眠状态时,系统将忽略“唤醒锁”,并且不允许运行任何后台任务。这肯定会让你的手机听起来对你没有多大好处,但是 Doze 有几种方法可以保留功能。虽然应用程序无法唤醒设备以运行同步作业和其他后台任务,但仍会显示高优先级推送消息。例如,一条环聊消息将出现在处于打盹模式的设备上。

应用待机- 进入待机状态的应用会失去所有网络访问权限,并且其所有后台同步作业都会暂停。当您的手机插入电源时,这些限制会暂时解除,并且每天或每两天持续几分钟。这使暂停的应用程序有机会运行任何挂起的同步作业,但不允许它们继续运行。高优先级推送通知也将能够在短时间内将应用程序从待机状态唤醒。

问题:

  1. 前台服务在睡眠模式下也会暂停吗?如果是,他们是重新开始还是从中断的地方继续?
  2. 当前台服务处于活动状态时,设备是否会进入睡眠模式?
4

2 回答 2

0

在打盹和待机期间前台服务仍然存在。我检查了这个。我的应用程序是带有 tcp 套接字的本地代理。但是...网络模块要休眠了。我的代理继续工作,端口保持打开状态,但由于待机期间网络休眠,与网络的连接将丢失。简单的按下电源按钮 - 和 ups,数据包开始出去。现在在连接超时条件下以编程方式搜索唤醒设备

于 2020-02-03T21:12:33.347 回答
-3

睡眠模式与打盹模式相同。由于前台服务不受打盹模式的影响,所以使用前台服务应该没问题。

例如:使用前台服务运行歌曲

于 2018-12-15T01:25:16.630 回答