經過學習無線鏈接時的電源使用狀況來選擇合適的數據傳輸機制,從而達到優化電池使用的目的。網絡
爲了達到能根據網絡活動情況最小化電池使用的目的,關鍵是明白鏈接模型會如何影響底層的無線電硬件。less
一個典型的3g network radio的狀態機有3種狀態:ide
1.Full power:用於鏈接處於活動狀態時,容許在其最高速傳輸數據;學習
2.Low power:一箇中間狀態,使用電池電量50%左右;fetch
3.Standby:在沒有網絡鏈接處於活動狀態或所需的最低能量狀態。優化
Figure 1. Typical 3G wireless radio state machine. spa
每次建立一個新的網絡鏈接,radio傳輸會達到full power狀態,並將會維持這種狀態一段時間(5+)以便於你的數據傳輸,接下來是12秒的low power狀態。orm
在實際中,若是1分鐘內每18秒傳輸1秒的unbundled data,那將會使radio一直保持活動狀態;與此對應的,若是相同的應用每分鐘傳輸3秒的bundles ,那麼full power狀態只維持僅僅8秒,12秒的low,另外有40秒的standby。io
prefetch data 是一種減小獨立的數據傳輸的數量的有效方式。 large downloads—such as video files—should be downloaded in chunks at regular intervals (every 2 to 5 minutes), effectively prefetching only the video data likely to be viewed in the next few minutes.file
在3g網絡下,每次初始化一條鏈接將引發radio提升power差很少20秒時間。若是每20秒就ping一次服務端,將使radio一直保持在full power。
因此每一個會話期間儘可能傳輸多的數據,努力限制會話數量。
重用現有的鏈接而不是新建一條是很是有效的。
在不使用時關閉鏈接,而不是等待超時。