Android常用http請求框架 簡介及現狀


JDK支持的HttpUrlConnection
HttpUrlConnection是JDK里提供的聯網API,是最原始最基本的API,大多數開源的聯網框架基本上也是基於此進行的封裝的。 HttpUrlConnection 的API簡單,體積小,維護方便。 在2.3后在不引入第三方網絡框架時建議使用 HttpUrlConnection而非 HttpClient

Apache支持的HttpClient
HttpClient是開源組織Apache供的Java請求網絡框架,其最早是為了方便Java服務器開發而誕生的,是對JDK中的HttpUrlConnection各API進行了封裝和簡化,提高了性能並且降低了調用API的繁瑣,Android因此也引進了這個聯網框架,我們不需要導入任何jar或者類庫就可以直接使用。值得注意的是Android官方已經宣布 不建議使用HttpClient了,我們再開發的時候盡量少用吧。

OkHttp是 Square公司實現的一個 Java 的 HTTP+SPDY 客戶端開發包, 需要Android 2.3以上。OKHttp非常高效,支持SPDY、連接池、GZIP和 HTTP 緩存。默認情況下,OKHttp會自動處理常見的網絡問題,像二次連接、SSL的握手問題。從Android4.4開始HttpURLConnection的底層實現采用的是OkHttp。

Retrofit是 Square公司是一個 RESTful的 HTTP 網絡請求框架的封裝。 Retrofit 專注於接口的封裝,OkHttp 專注於網絡請求的高效,二者分工協作! 我們的應用程序通過 Retrofit 請求網絡,實際上是使用 Retrofit 接口層封裝請求參數、Header、Url 等信息,之后由 OkHttp 完成后續的請求操作,在服務端返回數據之后,OkHttp 將原始的結果交給 Retrofit,Retrofit 根據用戶的需求對結果進行解析的過程。

早期使用HttpClient,后來使用HttpURLConnection,是谷歌2013年推出的網絡請求框架,非常適合去進行數據量不大,但通信頻繁的網絡操作,而對於大數據量的網絡操作,比如說下載文件等,Volley的表現就會非常糟糕。

Android-Async-Http是專門針對Android在Apache的 HttpClient 基礎上構建的異步的callback-based http client。所有的請求全在UI線程之外發生,而callback發生在創建它的線程中,應用了Android的Handler消息機制。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM