首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wakelock、深度睡眠和gcm

wakelock、深度睡眠和gcm
EN

Stack Overflow用户
提问于 2013-08-07 11:15:47
回答 1查看 4.1K关注 0票数 4

我搜索了一下,但对使用GCM的wakelock的真正功能有一个疑问。

唤醒锁是否阻止设备进入休眠模式,从而防止网络层关闭--这样它就可以首先从网络层接收GCM消息

或者当GCM被启用并工作时(通过清单权限,正确编码的GCM代码等),它将有一个网络连接到Google for GCM up,并且唤醒锁只需要从UI或应用程序级别打开屏幕,以便您可以在收到它后执行其他操作(与用户交互等)。

或以上任何一项/部分(请详细说明:)

谢谢geremy

EN

回答 1

Stack Overflow用户

发布于 2013-08-12 16:21:34

根据我的说法,你需要获取WAKE_LOCK来启动GCM Service,然后释放它,因为你的CPU在启动服务之前不应该休眠。

屏幕关闭后,CPU将在一段时间内进入睡眠模式。当你的设备处于休眠模式时,你的线程将被挂起。

如果你获得唤醒锁而不释放它,它肯定会消耗大量的电池。

您可以在设备处于空闲模式时接收GCM消息。

当消息到达时,取决于您的代码是否唤醒设备并显示通知。

您还可以通过使用标志delay_while_idle来延迟消息,直到设备脱离空闲状态。

您可以通过注册BroadcastReceiver来处理消息

请参考以下内容的问题和答案:

Wakelock in deep sleep

Power management

GCM in standby

WAKE_LOCK

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18094027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档