Ste*_*zek 1 android push-notification ios
诸如Google Cloud Messaging(GCM)之类的推送通知服务提供了一项特殊功能:它们能够唤醒处于空闲模式的设备。
关于电池寿命,采用哪种方式通过推连接唤醒设备?我的第一个假设是,即使设备的处理器处于睡眠状态,无线电的连接仍处于活动状态。在收到推送消息的情况下,无线电会通过中断唤醒处理器,并启动android处理该推送消息的意图。
但是,有像“ OpenPush”这样的第三方推送服务提供了相同的功能,这使我的假设看起来不完整或错误。还是这些服务只是多个供应商(Google,Apple)的推送系统的抽象,并且是以本机方式集成的服务的桥梁?
我的第一个假设是,即使设备的处理器处于睡眠状态,无线电的连接仍处于活动状态。
如果用“无线电”表示“蜂窝无线电”,那是正确的。即使CPU处于睡眠模式,也可以保持通过移动数据(不是WiFi)的开放式套接字连接。该连接上的传入数据包可以唤醒CPU。Google花费了很多时间对此进行调整,以最大程度地减少保持套接字处于活动状态的电量(例如,从设备到GCM服务器的“心跳”数据包会定期出现)。
还是那些服务只是对多个供应商(Google,Apple)的推送系统的抽象,并且是以本机方式集成的服务的桥梁?
这是一种常见的方法。
应用程序完全有可能尝试通过移动数据维护自己的长期套接字。例如,SIP客户端执行此操作。正确的做法非常棘手,特别是在考虑低功耗的情况下。我还担心这种方法的可靠性以及Android M中的一些更改。
由于OpenPush目前尚未开放,因此我无法就他们在做什么特别发表评论。
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |