沒錯,你猜對了!是Retrofit!
理由:Retrofit以 38.8K 的stars量雄踞github中android子標題榜首,第一當之無愧,

Retrofit:A type-safe HTTP client for Android and Java,一個型別安全的 Http 請求的客戶端,底層的網路請求是基于 OkHttp 的,Retrofit 對其做了封裝,提供了即方便又高效的網路訪問框架,
Retrofit其實我們可以理解為OkHttp的加強版,它也是一個網路加載框架,底層是使用OKHttp封裝的,準確來說,網路請求的作業本質上是OkHttp完成,而 Retrofit 僅負責網路請求介面的封裝,它的一個特點是包含了特別多注解, 方便簡化你的代碼量,
Retrofit為什么會成為第一呢?
Retrofit是目前Android開發中最常用,同時也是最優秀的網路封裝框架,App應用程式在通過Retrofit請求網路中,實際上是使用Retrofit介面層封裝請求引數,之后由OkHttp完成;服務器將資料回傳后,OkHttp再將原始的結果交給Retrofit,然后根據用戶需求對結果進行決議,
優點:
1.超級解耦
2.可以配置不同HttpClient來實作網路請求
3.支持同步、異步和RxJava
4.可以配置不同的反序列化工具來決議資料
5.請求速度快,使用非常方便靈活
作為github排名第一的框架,在面試中相信大家也遇到不少關于Retrofit的面試問題,如:
- 介紹下Retrofit框架,Retrofit為什么要包裝okhttp呢?
- 專案里面RxJava OkHttp Retrofit 原始碼看過沒有
- Retrofit主要實作機制?Retrofit的作用、原理
- Retrofit主要實作機制?
- 底層是如何用 OkHttp 請求的?
- 整個請求流程是怎樣的?
- Converter 的轉換程序,怎么通過 Gson 轉成對應的資料模型的?
- Retrofit如何指定一個完整的url進行請求
- Retrofit回傳的是什么資料型別
- Retrofit怎么實作多執行緒
- Okhttp和Retrofit設計模式上有什么異同?分別使用了什么?說一下大概原理,
- 講講Retrofit的動態代理程序、好處
- Retrofit如何跨執行緒 Retrofit的常用配置有哪些?
- Retrofit?絡請求層?的什么?
- Retrofit中使?了哪些設計模式?
- Retrofit在OkHttp上做了哪些封裝?動態代理和靜態代理的區別,是怎么實作的?
- 你從這個Retrofit中學到什么有價值的或者說可借鑒的設計思想?
- Android開發Repository層如何拿到Retrofit回傳的資料?
- Retrofit也用apt去做是否可行?為什么不用apt而用動態代理?
- 怎么更好的處理Retrofit工具類中將攔截到401狀態碼?
那怎么才能面對這寫些面試題的時候對答如流呢?只有深入了解Retrofit原始碼層原理,才能在你遇到這些面試題的時候輕松應對,同時在你深入了解Retrofit原理的時候,也能幫助你更好的搭建網路通信架構,
怎么快速的深入了解Retrofit原始碼層原理?
在我的這個《深入Retrofit網路實作原始碼分析及深度決議OKhttp實作原理》 視頻中有進行講解,大家可以去參考學習,
更多Android 知識點歸納已整理至GitHub,大家可以點擊下方小卡片去進行參考學習,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/336268.html
標籤:其他
上一篇:Android Studio的Button控制元件的onClick屬性、setOnClickListener函式與OnClickListener介面用法
