同步工作之间的好时机是什么时候?

时间:2016-04-27 21:15:14

标签: android performance notifications

在发现WhatsApp可能每秒更新通知后,我开始想知道电池寿命的最佳组合是什么,并通过通知让用户保持最新状态。

我现在工作的公司真的害怕吮吸电池寿命。所以他们希望最快的同步大约四分之一。与此同时,WhatsApp每秒都会更新。那么我们公司做的正确吗?或者我们可以像WhatsApp一样每秒检查一次新的更新,因为它不会耗费太多的电池寿命吗?

1 个答案:

答案 0 :(得分:1)

广泛的网络使用对于电池甚至数据使用来说肯定是非常昂贵的。如果您需要在应用中经常更新数据,在大多数情况下,每1(2或甚至5)秒发送一次HTTP请求是不好的做法。

接收和更新任何类型的通知(使用Android系统通知或应用内部的某些通知徽章)的好方法是使用Google Cloud Messaging。您必须在服务器端和客户端都实现它。您需要在Google Developer Console中注册您的应用包名称并检索API密钥。执行此操作后,您的应用程序将能够从GCM服务器接收推送通知。接收推送通知的流程如下所示:

  • 使用提供的SDK将当前设备注册到GCM系统,并生成当前设备的GCM唯一标识符
  • 您将此密钥上传到您的服务器(如果您的应用程序架构中有用户个人资料,最好将其存储在当前用户个人资料中)
  • 一旦服务器上发生重要事件,比如用户获取新的未读消息,您的服务器将从用户配置文件中获取GCM唯一标识符并向GCM服务器发送通知
  • GCM服务器使用此标识符将此数据发送到用户的设备,并将通知发送到BroadcastReciever的实施。之后,由您决定如何处理这些数据:创建系统通知或/并使用此信息更新您的应用的UI。

这只是对Google云处理消息如何工作的概述,有大量关于如何设置并实施到项目中的文章,例如this one。此解决方案可能看起来比每秒发送HTTP请求更复杂,但您的潜在用户将感谢节省的电池和数据限制。

此外,如果您想要发布Android系统通知,您可能需要使用包含GCM的Parse库,并使实现更容易。