1纫谅、Android-Async-Http
Android異步網(wǎng)絡(luò)請(qǐng)求:底層httpClient偎漫,Android5.0后被Google棄用,所以不推薦使用。
特點(diǎn):1晾剖、Callback使用了Android消息機(jī)制handler在創(chuàng)建它的線(xiàn)程中執(zhí)行回調(diào)。
? ? ? ? ? ? 2恭取、智能重試失敗的網(wǎng)絡(luò)請(qǐng)求。
? ? ? ? ? ? 3熄守、持久化cookie儲(chǔ)存。使用sharePreference耗跛。
2裕照、Volley
基于HttpUrlConnection的網(wǎng)絡(luò)請(qǐng)求,輕量級(jí)網(wǎng)絡(luò)請(qǐng)求调塌。
? ? ? ? ? ? 1晋南、內(nèi)部封裝圖片加載框架,可以進(jìn)行加載圖片羔砾。
? ? ? ? ? ? 2负间、可以對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行優(yōu)先級(jí)排序
? ? ? ? ? ? ?3偶妖、生命周期可以與activity綁定。
? ? ? ? ? ? 4政溃、可擴(kuò)展性強(qiáng)趾访,可以支持httpclient,httpurlconnection董虱、okhttp
? ? ? ? ? ? 5扼鞋、不支持大數(shù)據(jù)的網(wǎng)絡(luò)耗時(shí)操作,volley把request和response數(shù)據(jù)都封裝在byte[]中,不支持輸入輸出流愤诱,大數(shù)據(jù)傳輸耗費(fèi)內(nèi)存嚴(yán)重云头。
3、Okhttp
高性能http請(qǐng)求庫(kù)淫半。????????
? ? ? ? ? ? 1溃槐、支持http2.0、websocket科吭,同步異步網(wǎng)絡(luò)請(qǐng)求昏滴。
? ? ? ? ? ? 2、封裝了線(xiàn)程池砌溺,數(shù)據(jù)轉(zhuǎn)換影涉,參數(shù)使用,錯(cuò)誤處理等规伐。
? ? ? ? ? ? 3蟹倾、支持GIZP減少數(shù)據(jù)流量,緩存響應(yīng)數(shù)據(jù)猖闪。
? ? ? ? ? ? 4鲜棠、基于NIO和OKIO,性能好培慌,傳輸數(shù)據(jù)更快
? ? ? ? ? ? 5豁陆、Api調(diào)用方式,代碼簡(jiǎn)潔
? ? ? ? ? ? 6吵护、支持重量級(jí)網(wǎng)絡(luò)求情:音視頻傳輸?shù)?/p>
4盒音、Retrofit
基于Okhttp高度封裝。
? ? ? ? ? ? 1馅而、通過(guò)注解配置請(qǐng)求祥诽,提供對(duì)RxJava支持。
? ? ? ? ? ? 2瓮恭、可以搭配多種COnverter轉(zhuǎn)換器對(duì)響應(yīng)數(shù)據(jù)進(jìn)行解析
? ? ? ? ? ? 3雄坪、新能最好,處理速度最快屯蹦。但由于高度封裝维哈,擴(kuò)展性差绳姨。例如:要求服務(wù)器必須統(tǒng)一給出api形式,否則將很難進(jìn)行處理
? ? ? ? ? ? 4阔挠、代碼簡(jiǎn)潔易用,RetrofitApi設(shè)計(jì)風(fēng)格飘庄。