
【框架簡介】
我們平時在開發(fā)Android應用的時候不可避免地都需要用到網(wǎng)絡技術,而多數(shù)情況下應用程序都會使用HTTP協(xié)議來發(fā)送和接收網(wǎng)絡數(shù)據(jù)。Android系統(tǒng)中主要提供了兩種方式來進行HTTP通信,HttpURLConnection和HttpClient,幾乎在任何項目的代碼中我們都能看到這兩個類的身影,使用率非常高。
不過HttpURLConnection和HttpClient的用法還是稍微有些復雜的,如果不進行適當封裝的話,很容易就會寫出不少重復代碼。于是乎,一些Android網(wǎng)絡通信框架也就應運而生,比如說AsyncHttpClient,它把HTTP所有的通信細節(jié)全部封裝在了內部,我們只需要簡單調用幾行代碼就可以完成通信操作了。再比如Universal-Image-Loader,它使得在界面上顯示網(wǎng)絡圖片的操作變得極度簡單,開發(fā)者不用關心如何從網(wǎng)絡上獲取圖片,也不用關心開啟線程、回收圖片資源等細節(jié),Universal-Image-Loader已經把一切都做好了。
Android開發(fā)團隊也是意識到了有必要將HTTP的通信操作再進行簡單化,于是在2013年GoogleI/O大會上推出了一個新的網(wǎng)絡通信框架——Volley。Volley可是說是把AsyncHttpClient和Universal-Image-Loader的優(yōu)點集于了一身,既可以像AsyncHttpClient一樣非常簡單地進行HTTP通信,也可以像Universal-Image-Loader一樣輕松加載網(wǎng)絡上的圖片。除了簡單易用之外,Volley在性能方面也進行了大幅度的調整,它的設計目標就是非常適合去進行數(shù)據(jù)量不大,但通信頻繁的網(wǎng)絡操作,而對于大數(shù)據(jù)量的網(wǎng)絡操作,比如說下載文件等,Volley的表現(xiàn)就會非常糟糕。

上圖所示的這些應用都是屬于數(shù)據(jù)量不大,但網(wǎng)絡通信頻繁的,因此非常適合使用Volley。




































