android學習筆記之使用網絡資源(二)

使用網絡服務

軟件做爲一個服務--Software as a service(SaaS)和雲計算變得愈來愈流行,做爲公司努力去減小相關的軟件安裝,升級,維護的開支的手段。數據庫

這樣的趨勢也致使出現了一系列的網絡服務,你能夠以此來創建瘦客戶端程序,利用豐富的網絡服務來構建APP。服務器

如今的網絡服務有好多,列出幾個主要的:網絡

1.Google Services APIs 分佈式

區別與本地的Google APP,Google提供了網絡版的API,使你可以去訪問他們的日曆,文檔,博客,畢加索網絡相冊平臺。這些APIs都是以XML做爲數據交換。雲計算

2.Yahoo!Pipes 隊列

不是很懂。ip

3.Google App Engine文檔

使用Google App Engine 你能夠建立一個託管雲,將手機端APP複雜的操做移到雲端處理。Google還提供了Cloud Storage和Prediction APIs服務。博客

當你本身寫個WEB服務,但是服務器你要本身維護的,而使用GAE,你的程序是基於Google的服務器的,你無需維護,Google幫你維護。io

具體細節請百度。

4.Amazon Web Service

Amazon提供了一系列的基於雲端的服務,包括一些豐富的APIs服務來訪問它的書,CD,DVD等一些媒體相關的數據庫。Amazon還提供一個分佈式的存儲解決方案(Distributed storage solution --S3)和有彈性的雲計算Elastic Compute Cloud(EC2)。

 

關於網絡服務的細節這裏不討論了,你們有興趣本身能夠去百度。

 

最好的方式去下載數據,而不是耗光你的電

這是典型的3G無線電狀態機。

1.當鏈接活躍的時候,好比傳輸數據的時候,將處於Full Power狀態。耗能是最多的。

2.Low Power 相對耗能是滿狀態的一半。

3.Stanby 低耗能狀態,無須要活躍的鏈接。

此圖可見,假設你下載只花1了秒鐘,那麼接着會有17秒的狀態轉化,這個轉化時間也是耗電的。個人意思是,好比你每隔17秒下載1次,且每次都只下載1秒鐘,可見這個電量白白被好廢在狀態轉化上了。因此爲何說1次性的預取數據多點。(固然不是說你老下載大量無用的數據,這個本身判斷)

再者轉回到活躍狀態是有延遲的,因此你頻繁斷開,又鏈接,只會使延遲更明顯。

 

你如何去下載數據,對你手機的電量影響很大。關於物理的知識就不解釋了,須要注意點列出:

主要的原則就是:儘可能減小鏈接的次數,珍惜每次鏈接,儘量多得下載,而不是分開屢次下載。

1.預取數據  好比你APP剛啓動,預先加載部分數據,而不是不間斷下載更新。

2.批處理下載任務。好比這部分你要更新,那部分也要更新,你可能會所以建立2個或者多個鏈接,其實你能夠將其加入隊列,合適的時候,批處理更新。

3.重用已存在的鏈接,而不是建立一個新的。這樣能夠動態得減小延遲,提供網絡的表現。

4.重複下載的次數頻率儘可能少。好比App更新的頻率,設置默認的更新頻率儘量低點,若是你的用戶非要更新頻繁點,那麼你給他提供設置便可。

相關文章
相關標籤/搜索