1. 程式人生 > >OkHttp和Volley的有什麼區別

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。