每個Android開發者在產品開發的程序中,都需要用到網路和服務器進行互動,而對于網路框架的使用和理解,往往可以看出一個開發者到底處于什么段位:
-
初級工程師:雖然也會使用OkHttp、Retrofit等框架,但基本都是機械的套用,對其原始碼、核心原理所知甚少,需要付出大量的時間研究原始碼,
-
中級工程師:對于常見網路框架的內部原理有些了解,在專案開發程序中往往都能根據業務需求選用合適的框架,但遇到問題的時候還是經常需要尋求開源方案支持,通常這個時候他們會自行設計一個盡可能小的封裝,
-
高級工程師:一般會在專案中擔任其架構選取的任務,他們對對http請求、執行緒池12、快取的知識了然于心,對網路框架的選擇標準,一定是高性能,且簡潔易用,所以基于OkHttp進行封裝的Retrofit基本是他們的不二之選,且在支持converter擴展和rxjava,擴展性不好對他們高超的重構和封裝技巧根本不是問題,而且對于Retrofit的核心思想熟絡于心,可以很好地遷移到其他的開發作業中,
Retrofit為何成為高工最愛
作為最為廣泛使用的網路請求框架,OkHttp其實已經非常強大,但是在實際開發程序中,大家還是會遇到不少問題:無法適配自動執行緒的切換、呼叫復雜、網路請求介面配置繁瑣、快取失效……,而Retrofit的二次封裝,可以很好地解決這些問題,為OkHttp如虎添翼, Retrofit是一個非常強大的封裝框架,可以配置不同HTTP client來實作網路請求,如OkHttp、httpclient等;可以定制請求方法的引數注解;可以同步或異步RxJava;輕松實作超級解耦;配置不同的反序列工具來決議資料,而且設計模式頗多,使用非常方便靈活:

Retrofit沒有改變網路請求的本質,這部分仍舊由OkHttp完成,它最主要的特點在于設計模式非常豐富,可以通過注解直接配置請求,可以適配不同的http客戶端,而且通過不同的Json Converter 來序列化資料,同時對RxJava提供支持,所以Retrofit + OkHttp + RxJava是當前高工最鐘意的一套框架,

但這套框架其實是有一定門檻的,想要用好這套框架,對于Retrofit的核心原理一定要十分熟悉,而且目前各大廠在面試中,也會對Retrofit刨根問底:
- 用過哪些網路加載庫?Retrofit核心實作原理?
- 如果讓你實作Retrofit的某些核心功能,你會考慮怎么去實作?
- Retrofit的注解是怎么決議的?
- Retrofit網路請求層用的什么?
- Retrofit中使用了哪些設計模式?
- Retrofit在OkHttp上做了哪些封裝?動態代理和靜態代理的區別,是怎么實作的?
- Android開發Repository層如何拿到retrofit回傳的資料?
最后
為了能讓大家更好的掌握Retrofit和更多Android 相關知識點,我整理了一些相應的學習檔案提供給大家進行參考學習,大家可以簡單的看下下面小部分的學習檔案圖,如果需要更多學習檔案進行參考學習,大家可以 點擊下方小卡片 進行訪問查閱這些學習檔案,



轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380198.html
標籤:其他
