gpt4 book ai didi

android - Parse.com 推送服务电池影响

转载 作者:行者123 更新时间:2023-11-30 02:38:59 25 4
gpt4 key购买 nike

我无法使用 GCM,我正在寻找在我的应用程序中支持推送服务的解决方案。

我从 Parse.com 看到了 PPNS,我现在正在使用它。我启动了一个一致的 websocket 连接并每 15 分钟检查一次连接。它还会在每次设备唤醒时检查它。

仅此 PushService 系统的电池消耗大约是多少?

有人使用并测试过吗?

最佳答案

TL;DR:这就是推送通知的工作原理。如果它是您应用中的必需功能,请不要担心电池使用情况。

长版:据我了解(事实上,已经使用我自己的 MQ 在我自己的应用程序上开发),这就是大多数/所有其他处理推送通知的 API 所做的,即它们保持与各种 MQ(ActiveMQ、MSMQ 等)的持久连接.) 并订阅将消息“推送”给客户的特定主题。

所有这些都需要唤醒锁,以便在手机“休眠”或网络连接恢复时保持此连接有效,以确保通知已送达。其中一些甚至会保持一定程度的持久性,以防连接断开时消息到达,以便它们可以在重新连接时播放消息(尽管就服务器资源而言,这将是一项昂贵的功能)。

您的用户很可能已经在他们安装的一个/多个应用程序(WhatsApp、Skype 等)中安装了 WakeLock——例如,您可以通过查看 WhatsApp 所需的权限来检查这一点。其中之一是“防止 sleep 的电话”)。

这反过来意味着添加额外的 WakeLock 不会产生实质性影响,因为手机永远不会真正进入完全 sleep 状态。如果您的应用程序是唯一具有此 WakeLock 的应用程序,那么电池会产生实际成本,但这是不可避免的,除非您确保将消息保留在队列中并且仅在用户解锁手机时才显示通知,这是 (1) 昂贵的保持在您的队列中,并且 (2) 不太方便,因为用户会错过通知,除非他们已经在积极使用电话,因此后台通知会出错。

我也不认为如果您只是每 15 分钟左右对服务器执行一次 ping 操作(间隔通常是底层消息队列的保持 Activity 时间),电池生命周期不会受到很大影响。

此链接应该可以帮助您了解消息传递的本地实现是如何工作的,并且应该让您了解为什么需要 ping 以及为什么要维护该 WakeLock:

http://dalelane.co.uk/blog/?p=1599

编辑:添加了 TL;DR

关于android - Parse.com 推送服务电池影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com