OkHttp
物理質量
使用OkHttp須要 okio.jar (80k), okhttp.jar(330k)這2個jar包,總大小差很少400k,加上本身的封裝,差很少得410k。android
功能介紹
Square 公司開源的 OkHttp 是一個專一於鏈接效率的 HTTP 客戶端。OkHttp 提供了對 HTTP/2 和 SPDY 的支持,並提供了鏈接池,GZIP 壓縮和 HTTP 響應緩存功能。apache
優勢
- 支持http請求,https請求。
- 支持文件下載。
- 使用的是HttpURLConnection,不要擔憂android版本的變換。(至少目前是都支持的)。
- 支持get,post請求。
- 基於Http的文件上傳。
- 加載圖片。
缺點
- 好比callback回來是在線程裏面, 不能刷新UI,須要咱們手動處理。
- 封裝比較麻煩。
Volley
物理質量
使用Volley 須要Volley.jar(120k),加上本身的封裝最多140k。編程
功能簡述
Volley是Goole在2013年Google I/O大會上推出了一個新的網絡通訊框架,它是開源的。Volley 的特色:特別適合數據量小,通訊頻繁的網絡操做。緩存
優勢
- 很是適合進行數據量不大,但通訊頻繁的網絡操做。
- 內部分裝了異步線程。
- 支持get,post網絡請求。
- 圖片下載。
- 可直接在主線程調用服務端並處理返回結果。
- 能夠取消請求,容易擴展,面向接口編程。
缺點
- 對大文件下載 Volley的表現很是糟糕。
- 只支持http請求。
- 在BasicNetwork中判斷了statusCode(statusCode < 200 || statusCode > 299),若是合條件直
- 圖片加載性能通常。
- 使用的是httpclient,HttpURLConnection。不過在android 6.0不支持httpclient了,若是想支持得添加org.apache.http.legacy.jar。
總結
在咱們當前的項目 xxxSDK,xxx商城裏面,使用volley就能夠了,畢竟通過了日活幾十萬的測試,至少穩定性是沒有問題的。okhttp暫時還用不上。後續若是要使用okhttp,能夠再深刻okhttp,給項目作重構。
不過既然轉戰android studio,網絡請求仍是推薦使用Retrofit2網絡