打瞌睡,棉花糖和牛轧糖不同

Doze, different between Marshmallow and Nougat

目前我正在阅读关于 Android 7.0
的官方 google 文档新闻 我无法理解一些事情。 他们写了 Doze 通过关闭网络和 CPU 来改善电池寿命,当用户阻止屏幕时。 但这是如何工作的?

1.I 我的设备中有 Marshmallow,当我的 phone 被阻止时,我仍然会收到来自网络应用程序(例如 Messenger)的通知。

2.Second 他们写的 Nougat 又通过 CPU 和网络改进了这一点。那么究竟是什么不同呢?

I have Marshmallow in my device, and when my phone is blocked, i still get notifications from app with network (e.g. Messenger).

SMS 通常不会通过 Internet 传输,假设这就是您所指的 "Messenger"(许多应用程序使用该名称)。此外,高优先级 FCM 推送消息在 Doze 模式下仍然有效。

Second thing they wrote Nougat have improved this more by again CPU and network. So what is exacly differet ?

有一个 "Doze on the go mode" 即使设备在移动也会启动。 the documentation and in the documentation.

中对此进行了介绍

推送通知仍会通过,但如果您将 phone 留在屏幕关闭的 table 上,大多数服务会在一段时间后停止 运行ning。

例如 Spotify 仍然保持 运行ning 流畅,因为它有前台通知。当 OS 可以关闭大多数系统(如互联网和地理定位)以及避免 运行 在越来越长的时间段内使用其他服务(例如,到最后达到几个小时)时,电池的节省来自于一个典型用户晚上的睡眠。

现在他们主要是在做他们说了很长时间的事情:后台服务无法保证它们会持续多久 运行。最大的意外后果是有时当他们醒来时没有互联网或地理定位不可用。而且他们 运行 的时间不那么预测 table。

仍然有一些方法可以使用准确的警报或推送通知以完美的可预测性唤醒并执行任务,具体取决于事件发生的位置。但对于大多数情况,推荐的解决方案是使用作业调度程序。