1. 程式人生 > >不耗電傳輸資料(二):降低常規更新的影響

不耗電傳輸資料(二):降低常規更新的影響

降低常規更新的影響

最理想的更新頻率基於裝置狀態,網路連線,使用者行為和偏好而各不相同。

優化電池壽命一文講述瞭如何根據裝置狀態調整更新頻率以提高電池壽命。包括當沒有資料連線時,禁止更新和在電量低時降低後臺更新頻率。

本文將解釋如何調整更新頻率能夠使其最高效的適應下層的無線網路狀態機。

改用FCM輪詢

每次你輪詢伺服器察看是否需要更新時,就會啟用無線網路,拿一個典型的3G的網路來說,會有20秒鐘完全可以避免的耗電。

FCM是一個輕量級的從伺服器到特定應用傳送資料的機制。有了FCM,伺服器就可以向執行在特定裝置上的應用推送訊息,比如應用待更新。

與輪詢相比,這種事件驅動的方式只需要在有資料的時候去連一下網路,而不需要定期ping伺服器。這一模型及降低了不必要的連線,也降低了資料更新延遲。

FCM是用一個持續的TCP/IP連線實現的。當然你可以實現自己的push伺服器,最好用FCM。他能降低持續連線的數量並允許平臺優化貸款使用,降低對電池的影響。

網路排程工具

如果你的應用必須用輪詢,Android平臺提供了一系列的工具幫你建立高效的排程和連線。這些工具包括JobScheduler,AlarmManager和FCM JobDispatcher。更多詳情參考Intelligent Job-Scheduling。