請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)是在安卓開發(fā)中使用最頻繁的一個(gè)功能,網(wǎng)絡(luò)請(qǐng)求的體驗(yàn)決定了用戶對(duì)整個(gè)APP的感覺,因此合理地使用緩存對(duì)網(wǎng)絡(luò)請(qǐng)求的數(shù)據(jù)進(jìn)行處理極為重要。合理的進(jìn)行緩存和網(wǎng)絡(luò)請(qǐng)求,可以為APP帶來(lái)更優(yōu)秀的體驗(yàn)。圖片的緩存有Picasso、Glide、Fresco等非常著名的框架,它們極為成熟并且使用廣泛,程序員應(yīng)該做的是使用輪子而非重復(fù)造輪子。但對(duì)于網(wǎng)絡(luò)數(shù)據(jù)的緩存,大多都是自用自封裝,每個(gè)人都需要進(jìn)行繁瑣的編碼工作。RxCache就對(duì)網(wǎng)絡(luò)緩存進(jìn)行了封裝,并采用RxJava模式,可以與其他RxJava的代碼無(wú)縫對(duì)接,使用極為方便。
RxCache使用LruCache和DiskLruCache對(duì)網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)進(jìn)行二級(jí)緩存,主要適配于接口API返回?cái)?shù)據(jù),不用于圖片等的緩存。可以設(shè)置緩存模式、緩存大小,設(shè)置數(shù)據(jù)過期時(shí)間,并提供了根據(jù)key刪除緩存和清空所有緩存的功能。提供了Gson方式和Serialize方式進(jìn)行數(shù)據(jù)存儲(chǔ)轉(zhuǎn)換與還原。
項(xiàng)目GitHub地址
RxCache
開始使用:
首先在項(xiàng)目的Gradle中添加依賴:
RxCache使用JitPack進(jìn)行依賴管理,所以需要先在項(xiàng)目的build.gradle中添加以下代碼:
allprojects{ repositories{ ... maven{url 'https://jitpack.io'} } }