安卓開發(fā)如何選擇網(wǎng)絡(luò)框架
安卓開發(fā) admin 發(fā)布時(shí)間:2024-12-11 11:01:05 瀏覽: 次
<meta charset="utf-8" />
<meta charset="utf-8" />
如何選擇網(wǎng)絡(luò)框架
說了這么多功能,我們來看看為什么要使用OkGo這個(gè)框架。
首先目前主流的幾個(gè)網(wǎng)絡(luò)框架
- android-async-http
- xUtils
- volley
- retrofit
- okhttp
<meta charset="utf-8" />
OkGo的優(yōu)勢(shì)
- 優(yōu)勢(shì)一:性能高,專注于簡(jiǎn)單易用的網(wǎng)絡(luò)請(qǐng)求,使用主流的okhttp進(jìn)行封裝,對(duì)于okhttp大家都知道,在Android4.4的源碼中可以看到HttpURLConnection已經(jīng)替換成OkHttp實(shí)現(xiàn)了,并且支持HTTP2/SPDY黑科技,支持socket自動(dòng)選擇最好路線,并支持自動(dòng)重連,擁有自動(dòng)維護(hù)的socket連接池,減少握手次數(shù),擁有隊(duì)列線程池,輕松寫并發(fā)。
- 優(yōu)勢(shì)二:特有的網(wǎng)絡(luò)緩存模式,是大多數(shù)網(wǎng)絡(luò)框架所不具備的,說一個(gè)應(yīng)用場(chǎng)景,老板說我們的app不僅需要在有網(wǎng)的情況下展示最新的網(wǎng)絡(luò)數(shù)據(jù),還要在沒網(wǎng)的情況下使用緩存數(shù)據(jù),這時(shí)候是不是項(xiàng)目中出現(xiàn)了大量的代碼判斷當(dāng)前網(wǎng)絡(luò)狀況,根據(jù)不同的狀態(tài)保存不同的數(shù)據(jù),然后決定是否使用緩存。細(xì)想一下,這是個(gè)通用的寫法,于是OkGo提供了五種緩存模式,讓你不用關(guān)心緩存的實(shí)現(xiàn),而專注于數(shù)據(jù)的處理。(具體緩存的使用方法請(qǐng)看最后第四章節(jié))。
- 優(yōu)勢(shì)三:方便易用的擴(kuò)展接口,可以添加全局的公共參數(shù),全局?jǐn)r截器,全局超時(shí)時(shí)間,更可以對(duì)單個(gè)請(qǐng)求定制攔截器,超時(shí)時(shí)間,請(qǐng)求參數(shù)修改等等,在使用上更是方便,原生支持的鏈?zhǔn)秸{(diào)用讓你的請(qǐng)求更加清晰。
- 優(yōu)勢(shì)四:強(qiáng)大的Cookie保持策略,我們知道在客戶端對(duì)cookie的獲取是個(gè)不太簡(jiǎn)單的事情,特別是還要處理cookie的過期時(shí)間,持久化策略等等,OkGo幫你徹底解決Cookie的難題,默認(rèn)擁有內(nèi)存存儲(chǔ)和持久化存儲(chǔ)兩種實(shí)現(xiàn),cookie全程自動(dòng)管理,并且提供了額外的addCookie方式,允許介入到自動(dòng)管理的過程中,添加你想創(chuàng)建的任何cookie。