Okhttp, Retrofit, android-async-http, Volley用哪個好

轉載至知乎

okhttp, 
Retrofit,
android-async-http,
volley
這四個框架適用的場合?優缺點?

大家可以參考下。這麼經典的設計模式示例,還是很少見的。



okhttp是android平臺最好的網絡庫,歡迎打臉。
  • 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 selector的方式,不過nio更適合大量連接的情況,對於移動平臺有點殺雞用牛刀的味道。
  • picasso、uil都不支持inbitmap,項目中有用到picasso的富圖片應用需要注意這點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章