一,度量網絡性能
1,網絡帶寬
用于描述無線網絡性能的最常見度量指標就是帶寬。在數字無線通信中,網絡帶寬可以描述為兩個端點之間的通信通道每秒鐘可以傳輸的位數?,F代無線網絡所能提供的理論帶寬是很高的。不過請記住,運營商與網絡設備提供商引用的帶寬數字常常是該項技術的理論最大值,網絡設備使用的實際帶寬可能與這個最大值之間存在很大的偏差。
2,網絡延遲。
度量網絡性能的第2個因素是網絡延遲,指的是網絡包在兩個端點間一次往返所需的時間。無線運營商很少會提到網絡的延遲數據,不過延遲卻會對應用的實際性能造成很大影響。與帶寬一樣,有很多因素會影響到應用遭受的延遲情況。主要因素就是用于將設備連接到外界的無線網絡技術本身的延遲。
3,設備電量。
iOS設備的運行通常使用的都是電池,應用采取的每個動作都會消耗電量。iOS設備上電量的使用大戶主要有:
1)屏幕顯示與背光。
2)位置服務。
3)wifi-無線電.
4)WWAN(蜂窩)無線電。
5)圖形處理器
6)CPU
7)藍牙無線電
8)聲音處理器。
除了屏幕顯示之外,應用能夠控制上面的大多數。
二,優化網絡操作。
1,減少請求帶寬。
1)JSON與xml是用于請求與響應體的常見的數據編碼方式。壓縮模式的效率在很大程序上取決于待壓縮的數據,不過通常情況下JSON都是一種更為高效的模式。
2)Web瀏覽器對請求壓縮的支持并不太好,因為瀏覽器不知道目標服務器是滯能夠支持對請求的解壓縮。如果服務器無法理解壓縮模式,那么請求就會被丟棄,客戶端應用將無法得到響應。
3)與響應壓縮一樣,客戶端不應改將CPU時間浪費在壓縮如PDF,加密數據,圖像,音頻及視頻等已經壓縮的內容上,然而,代表預先壓縮的數據的Base64數據常常會從請求壓縮中獲益。比如,如果要以Base64格式上傳JPEG文件,那么可以對Base64數據進行壓縮,相較于未壓縮的Base64數據,壓縮后的數據體積會降低30%左右。
2,降低請求延遲。
1)實現上,在iOS設備上,我們沒有辦法降低單個網絡請求的延遲,不過可以通過一些技術來降低多個請求的延遲。
2)降低請求延遲有兩項最佳實踐:在單個TCP連接上發送HTTP請求,以管道的形式發送HTTP請求,從而優化全雙工TCP連接的使用。
3)Apache和IIS都支持管道,無需任何額外的配置。
3,避免網絡請求。
1)通過HTTP緩存機制的基本原理,在iOS應用中利用這些規則,可以在本地緩存內容以避免不必要的網絡流量。
2)HTTP被設計作為瀏覽器與服務器之間的通信,緩存機制也是針對這種使用模式的。iOS提供了一種機制來利用標準的HTTP緩存,以及采取相應的行為。通過NSURLRequest發出的每個請求都會經過緩存組件。該組件是NSURLCache或其子類的實例。
3)在iOS中有一種奇怪的現象,即在某些情況下,應用中的系統組件會將緩存的內存容量設為0,這就禁用了緩存。解決無法解釋的行為的一種方式就是通過自已的實現子類化NSURLCache。拒絕將內存緩存大小設為0.
三,iOS用戶都希望應用能夠立刻響應每個請求。移動產業有這樣一條原則,即屏幕越小,用戶越沒耐心。提供讓用戶樂于使用的應用意味著要珍惜用戶的時間,就像珍惜你自己的時間一樣。通過壓縮請求與響應來優化應用所使用的帶寬,通過管道化請求避免不必要的延遲,甚至通過緩存響應來避免冗余的網絡請求都會加速應用并改進用戶體驗。
參考資料:《iOS網絡高級編程-iphone和iPad的企業應用開發》
新聞熱點
疑難解答