它是Square公司開發的如今很是流行的網絡框架,因此咱們在導入它的包的時候均可以看到這個公司的名字,目前的版本是2。java
特色:android
性能好,處理快,使用簡單,Retrofit 是安卓上最流行的HTTP Client庫之一
使用REST API設計風格
支持 NIO(new i/o)
默認使用OKHttp處理網絡請求,我以爲能夠當作是OKHttp的加強。
git
隨着Google對HttpClient的摒棄,和Volley的逐漸沒落,OkHttp開始異軍突起,而Retrofit則對okHttp進行了強制依賴。Retrofit也是Square公司開發的一款針對Android網絡請求的框架,其實質就是對okHttp的封裝,使用面向接口的方式進行網絡請求,利用動態生成的代理類封裝了網絡接口。retrofit很是適合於RESTful url格式的請求,更多使用註解的方式提供功能。github
如今android網絡請求大部分已經換成了Retrofit2.0 +RxJava + okHttp3.0,Retrofit 使用接口的方式,負責請求的數據和請求的結果,OkHttp 負責請求的過程,RxJava 負責異步,各類線程之間的切換。毫無疑問這三劍客 已成爲當前Android 網絡請求最流行的方式。緩存
Retrofit: Retrofit是Square 公司開發的一款基於restful風格接口的Android 網絡請求的框架,對okhttp作了一層封裝。網絡請求仍是基於Okhttp,咱們只須要經過簡單的配置就能使用retrofit來進行網絡請求了,Retrofit官網restful
RxJava:RxJava 在 GitHub 主頁上介紹 「a library for composing asynchronous and event-based programs using observable sequences for the Java VM」(一個在 Java VM 上使用可觀測的序列來組成異步的、基於事件的程序的庫)。總之,rxjava讓異步操做變得很是簡單。RxJava網絡
OkHttp: Square 公司開源的網絡請求庫 OkHttp框架
HTTP協議中共定義了八種方法或者叫「動做」來代表對Request-URI指定的資源的不一樣操做方式,分別是OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT,介紹就省略了。異步
雖然有這麼多種請求方式,但App的接口請求無非就是數據的增刪改查,增刪改查對應到Restful風格接口上也就是post,delete,put,get四種請求。在Retrofit框架提供的註解中,其中HTTP註解有五個,用來修飾請求方法,除了post,delete,put,get還有一個head。除了這五種網絡請求方式外,App無非還會用到retrofit的單文件或者多文件的上傳下載,同步請求或者異步請求的處理,還有okhttp數據緩存的問題。async
參考: https://blog.csdn.net/carson_ho/article/details/73732076