Android輕量緩存框架
做Android應用開發的同學們相信對“緩存”這個詞不陌生,緩存可能有多方面的概念,這里大概列舉下程序開發的緩存大概有哪些:
1.服務端控制緩存
如volley請求庫,便是通過服務端的“Cache-Control”和“max-age”來告訴客戶端有沒有緩存以及緩存的時間,也是推薦的使用方式,但是需要服務端配合,比較靈活。
2.客戶端直接控制緩存
有些時候不需要服務端來支持的話,客戶端可以直接做一層緩存,思路就是請求之后把數據緩存在本地,最常見的是直接以文件緩存在本地就好了,當然你可以緩存在本地的sqlite,以sqlite文件的形式緩存數據處理更靈活點,然后客戶端自己處理緩存的時間,過期則直接清除數據。對于一些不太經常變化的頁面,采用這種緩存可以減少客戶端流量,同時減少服務器并發量。
對于一些新聞類或者timeline這種,數據變化是非常頻繁的,針對這種情況可能就不太適合設置緩存時間,這種情況可以考慮讓頁面每次進來都會自動刷新一次以獲取最新數據,如果網絡不好或者斷開時可以直接讀取本地緩存,增加用戶體驗。當然如果想要更復雜的處理可以配合時間來判斷當前頁面要不要刷新。
今天就介紹一種簡易的緩存框架,使用起來非常簡單。
ASimpleCache
ASimpleCache 是一個為android制定的 輕量級的 開源緩存框架。輕量到只有一個java文件(由十幾個類精簡而來)。
它可以緩存什么東西?
普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java對象,和 byte數據。
如何使用 ASimpleCache?
ACache mCache = ACache.get(this); mCache.put("test_key1", "test value"); mCache.put("test_key2", "test value", 10);//保存10秒,如果超過10秒去獲取這個key,將為null mCache.put("test_key3", "test value", 2 * ACache.TIME_DAY);//保存兩天,如果超過兩天去獲取這個key,將為null
獲取數據
ACache mCache = ACache.get(this); String value = mCache.getAsString("test_key1");
最后此項目的開源地址: ASimpleCache
本文由用戶 aavs5854 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!