溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HttpURLConnection和HttpClient的區(qū)別

發(fā)布時間:2020-07-28 10:41:24 來源:網(wǎng)絡 閱讀:747 作者:shenshizhong 欄目:移動開發(fā)

安卓中訪問網(wǎng)絡方式:

Android應用程序都會使用HTTP協(xié)議來發(fā)送和接收網(wǎng)絡數(shù)據(jù),而Android中主要提供了兩種方式來進行HTTP操作,HttpURLConnection和HttpClient。這兩種方式都支持HTTPS協(xié)議、以流的形式進行上傳和下載、配置超時時間、IPv6、以及連接池等功能。

1、HttpClient:

優(yōu)點:DefaultHttpClient和AndroidHttpClient都是HttpClient具體的實現(xiàn)類,都擁有眾多的API,而且實現(xiàn)比較穩(wěn)定,bug數(shù)量也很少。

缺點:很難在不破壞兼容性的情況下對它進行升級和擴展

2、HttpURLConnection:

優(yōu)點:HttpURLConnection是一種多用途、輕量極的HTTP客戶端,使用它來進行HTTP操作可以適用于大多數(shù)的應用程序。API提供的比較簡單,可以更加容易地去使用和擴展它。

缺點:HttpURLConnection在2.3之前的版本中存在一些bug,比如說對一個可讀的InputStream調(diào)用close()方法時,就有可能會導致連接池失效了。

 

如何正確使用:

在Android 2.3版本之前,HttpClient擁有較少的bug,因此使用它是最好的選擇。

而在Android 2.3版本及以后,HttpURLConnection則是最佳的選擇。它的API簡單,體積較小,因而非常適用于Android項目。壓縮和緩存機制可以有效地減少網(wǎng)絡訪問的流量,在提升速度和省電方面也起到了較大的作用。google主要也是在HttpURLConnection進行更多的改進優(yōu)化的,所以新的應用程序應該更加偏向于使用HttpURLConnection。

 

注意:如果所有版本都要兼容,可以使用版本區(qū)分來達到目的。例如:

if (Build.VERSION.SDK_INT >= 9) {

HttpURLConnection

       } else {

          HttpClient

       }


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI