volley是壹個簡單的異步http庫,僅此而已。缺點是不支持同步,這點會限制開發模式;不能post大數據,所以不適合用來上傳文件。
android-async-http,與volley壹樣是異步網絡庫。但volley是封裝的httpUrlConnection,它是封裝的httpClient,而android平臺不推薦用HttpClient了,所以這個庫已經不適合android平臺了。
okhttp是高性能的http庫,支持同步、異步,而且實現了spdy、http2、websocket協議,api很簡潔易用,和volley壹樣實現了http協議的緩存。picasso就是利用okhttp的緩存機制實現其文件緩存,實現的很優雅,很正確,反例就是UIL(universal image loader),自己做的文件緩存,而且不遵守http緩存機制。
retrofit與picasso壹樣都是在okhttp基礎之上做的封裝,項目中可以直接用了。
另外AndroidAsync這個網絡庫使用了nio的方式實現的。okhttp沒有提供nio的方式,不過nio更適合大量連接的情況,對於移動平臺有點殺雞用牛刀的味道。picasso、uil都不支持inbitmap,項目中有用到picasso的富圖片應用需要註意這點。