OkHttp和Volley的有什麼區別
OkHttp
1.佔用儲存空間
使用OkHttp需要 okio.jar (80k), okhttp.jar(330k)這2個jar包,總大小差不多400k,加上自己的封裝,差不多得410k。
2.功能介紹
Square 公司開源的 OkHttp 是一個專注於連線效率的 HTTP 客戶端。OkHttp 提供了對 HTTP/2 和 SPDY 的支援,並提供了連線池,GZIP 壓縮和 HTTP 響應快取功能。
3.優點
支援http請求,https請求。
支援檔案下載。
使用的是HttpURLConnection,不要擔心android版本的變換。(至少目前是都支援的)。
支援get,post請求。
基於Http的檔案上傳。
載入圖片。
4.缺點
比如callback回來是線上程裡面, 不能重新整理UI,需要我們手動處理。
封裝比較麻煩。
Volley
1.佔用儲存空間
使用Volley 需要Volley.jar(120k),加上自己的封裝最多140k。
2.功能介紹
Volley是Goole在2013年Google I/O大會上推出了一個新的網路通訊框架,它是開源的。Volley 的特點:特別適合資料量小,通訊頻繁的網路操作。
3.優點
非常適合進行資料量不大,但通訊頻繁的網路操作。
內部分裝了非同步執行緒。
支援get,post網路請求。
圖片下載。
可直接在主執行緒呼叫服務端並處理返回結果。
可以取消請求,容易擴充套件,面向介面程式設計。
4.缺點
對大檔案下載 Volley的表現非常糟糕。
只支援http請求。
在BasicNetwork中判斷了statusCode(statusCode < 200 || statusCode > 299),如果符合條件直
接圖片載入,效能一般。
使用的是httpclient,HttpURLConnection。不過在android 6.0不支援httpclient了,如果想支援得新增org.apache.http.legacy.jar。
總結
在我們平時的專案使用volley就可以了,相對okhttp,volley非常穩定。Okhttp一般混合來用,能夠勝任相對複雜的需求。如今,在AndroidStudio中,網路請求還是推薦使用Retrofit2+okhttp。