因此,我在打about睡期间阅读了很多有关android服务及其生命周期的文章。
到目前为止:
后台服务受打ze模式的限制。
前景服务不受打ze模式的影响。意味着他们继续拥有访问网络等。
关于打ze模式和前台服务的文章很多,但都没有提到睡眠模式启动后前台服务会发生什么。
睡眠模式-表示CPU处于睡眠状态,将不接受任何睡眠模式 RIL(无线电接口层)和警报除外。 CPU会走 LCD关闭后几秒钟即可进入睡眠模式。
打ze模式-表示您手机上的应用将无法访问网络, 当应用尝试保留设备时,系统将忽略“唤醒锁” 从睡觉开始,并且不允许后台任务运行。 这肯定会让您听起来听不到手机的好处, 但是Doze保留了几种保留功能的方法。虽然应用 无法唤醒设备以运行同步作业和其他后台任务, 高优先级的推送消息仍会显示。因此,例如 环聊消息将出现在处于打ze模式的设备上。
应用待机-进入待机状态的应用将失去所有网络访问权限 并且其所有后台同步作业均被暂停。这些限制是 插入手机并等待几分钟后暂时提起 每天一两天。这使暂停的应用程序有机会运行任何 待处理的同步作业,但将不允许它们继续运行。一种 高优先级推送通知也将能够从中唤醒应用 待机一会儿。
问题:
答案 0 :(得分:0)
在打ze和待机期间,前台服务仍然有效。我检查了我的应用程序是带有tcp套接字的本地代理。但是...网络模块即将进入睡眠状态。我的代理继续工作,端口保持打开状态,但是由于待机期间网络处于睡眠状态,因此无法连接到网络。简单的电源按钮-起伏不定,数据包开始发出。现在以编程方式在连接超时条件下搜索唤醒设备
答案 1 :(得分:-2)
睡眠模式与打ze模式相同。由于前台服务不受打ze模式的影响,因此使用前台服务应该可以。
Ex:使用前台服务运行歌曲