不耗电传输数据(二):降低常规更新的影响

降低常规更新的影响

最理想的更新频率基于设备状态,网络连接,用户行为和偏好而各不相同。

优化电池寿命一文讲述了如何根据设备状态调整更新频率以提高电池寿命。包括当没有数据连接时,禁止更新和在电量低时降低后台更新频率。

本文将解释如何调整更新频率能够使其最高效的适应下层的无线网络状态机。

改用FCM轮询

每次你轮询服务器察看是否需要更新时,就会激活无线网络,拿一个典型的3G的网络来说,会有20秒钟完全可以避免的耗电。

FCM是一个轻量级的从服务器到特定应用传送数据的机制。有了FCM,服务器就可以向运行在特定设备上的应用推送消息,比如应用待更新。

与轮询相比,这种事件驱动的方式只需要在有数据的时候去连一下网络,而不需要定期ping服务器。这一模型及降低了不必要的连接,也降低了数据更新延迟。

FCM是用一个持续的TCP/IP连接实现的。当然你可以实现自己的push服务器,最好用FCM。他能降低持续连接的数量并允许平台优化贷款使用,降低对电池的影响。

网络调度工具

如果你的应用必须用轮询,Android平台提供了一系列的工具帮你创建高效的调度和连接。这些工具包括JobScheduler,AlarmManager和FCM JobDispatcher。更多详情参考Intelligent Job-Scheduling。

猜你喜欢

转载自blog.csdn.net/yubing1015/article/details/84852940