最近谷歌推出了推送設備服務,但它只能使用2.2及更高版本。使用http時的Android電池
我需要一個類似的系統,在我的應用程序,而我試圖繞過限制。
問題是電池壽命。由於必須立即通知用戶有關服務器上的更改,因此我認爲要實施一項將位於後臺的服務(標準Android服務)並向服務器查詢更新。
當然,查詢服務器,甚至每秒都會花費很多帶寬和電池,所以我的問題是這樣的:如果服務器在一段時間內持有響應,它是否會產生影響? (後面的彗星式Ajax請求的想法)
是這樣工作的:
- 設備發送數據更新請求
- 服務器收到請求,並在循環將持續一分鐘,如果有檢查更新在每次迭代時
- 如果有更新,服務器將更新發送回應
- 如果沒有更新,服務將繼續進行下一次迭代。
- 一分鐘後,它最後發送沒有數據尚未提供
- 響應(不管空的或用數據是否)的Android觸發另一個這樣的請求之後的響應。
它肯定會花費更少的帶寬,但它會消耗更少(甚至更多)的電池嗎?
謝謝你的迴應。我想寫一個示例應用程序,而且我會在不久的將來做到。 關於請求。 這只是一個簡單的請求,如http://someserver.com/getdata 然後,設備正在等待響應,如果數據可用,那麼它立即得到響應,或者在一段時間內(不到一分鐘) ,否則它只是等待,而主要的東西正在服務器上發生。 – 2011-01-05 15:41:40