OkHttp和Volley對比

OkHttp

物理質量

使用OkHttp須要 okio.jar (80k), okhttp.jar(330k)這2個jar包,總大小差很少400k,加上本身的封裝,差很少得410k。android

功能介紹

Square 公司開源的 OkHttp 是一個專一於鏈接效率的 HTTP 客戶端。OkHttp 提供了對 HTTP/2 和 SPDY 的支持,並提供了鏈接池,GZIP 壓縮和 HTTP 響應緩存功能。apache

優勢

  1. 支持http請求,https請求。
  2. 支持文件下載。
  3. 使用的是HttpURLConnection,不要擔憂android版本的變換。(至少目前是都支持的)。
  4. 支持get,post請求。
  5. 基於Http的文件上傳。
  6. 加載圖片。

缺點

  1. 好比callback回來是在線程裏面, 不能刷新UI,須要咱們手動處理。
  2. 封裝比較麻煩。

Volley

物理質量

使用Volley 須要Volley.jar(120k),加上本身的封裝最多140k。編程

功能簡述

Volley是Goole在2013年Google I/O大會上推出了一個新的網絡通訊框架,它是開源的。Volley 的特色:特別適合數據量小,通訊頻繁的網絡操做。緩存

優勢

  1. 很是適合進行數據量不大,但通訊頻繁的網絡操做。
  2. 內部分裝了異步線程。
  3. 支持get,post網絡請求。
  4. 圖片下載。
  5. 可直接在主線程調用服務端並處理返回結果。
  6. 能夠取消請求,容易擴展,面向接口編程。

缺點

  1. 對大文件下載 Volley的表現很是糟糕。
  2. 只支持http請求。
  3. 在BasicNetwork中判斷了statusCode(statusCode < 200 || statusCode > 299),若是合條件直
  4. 圖片加載性能通常。
  5. 使用的是httpclient,HttpURLConnection。不過在android 6.0不支持httpclient了,若是想支持得添加org.apache.http.legacy.jar。

總結

在咱們當前的項目 xxxSDK,xxx商城裏面,使用volley就能夠了,畢竟通過了日活幾十萬的測試,至少穩定性是沒有問題的。okhttp暫時還用不上。後續若是要使用okhttp,能夠再深刻okhttp,給項目作重構。
不過既然轉戰android studio,網絡請求仍是推薦使用Retrofit2網絡

相關文章
相關標籤/搜索