Wednesday, February 1, 2012

淺談Android的網路電量耗損

撰寫時間︰2012/02/02 14:30
更新時間︰2012/02/14 14:12
文章更新次數︰3

一、前言
小弟正在研究C2DM(Cloud to Device Message)雲端推播訊息至手機這個技術,
這個技術在許多App商需要及時對使用者推播廣告訊息時特別好用,
Android上著名的Chrome to Phone也是使用到這個技術,
它可以讓使用者將桌機上瀏覽的網站、Youtube、甚至是Google地圖,
馬上傳至手機中繼續觀看。

二、文章開始
在Google I/O 2010年Building push applications for Android剛好提到相關技術,
當中提到了網路與手機的電力損耗調查,

以上的圖片是Android 團隊提供的圖表,
顯示出平常App在跟Server索取資料時的電量耗損狀態。

一般來說,
在有連線狀態,
卻沒有任何的資料傳輸狀態下,
消耗的功率是 5-8mA(毫安培)/天-App。
當開始跟server端讀取資料時,
電量消耗會突然升至115mA。
如果是寫入資料,
這個消耗的電量值將會更高,
達到180-200mA甚至更高。


圖表上也顯示,
如果跟server索取資料(poll)的次數越高,
損耗功率也會跟著提高。
如果每5分鐘跟伺服器索取資料,
以一天來看,會損耗144mA。
如果以每15分鐘跟伺服器索取資料,
則一天損耗48mA。

一顆電池的壽命通常是1200mA到1400mA,
如果每5分鐘就跟server要一次資料,
這會造成一下子就耗損手機電量10%
實在是一個很可觀的數據!

三、總結
經由上述的實驗數據,
如果你的App沒有定時定量更新的需求,
Android Team會建議你選擇Push機制才是最佳選擇。


詳細內容請參閱Android Push Notification推播機制(1)-簡介篇

1 comment: