Android 轻量缓存框架 ASimpleCache
做 Android 应用开发的同学们相信对 缓存 这个词不陌生,缓存可能有多方面的概念,这里大概列举下程序开发的缓存大概有哪些:
服务端控制缓存
如 volley 请求库,便是通过服务端的 Cache-Control 和 max-age 来告诉客户端有没有缓存以及缓存的时间,也是推荐的使用方式,但是需要服务端配合,比较灵活。
客户端直接控制缓存
有些时候不需要服务端来支持的话,客户端可以直接做一层缓存,思路就是请求之后把数据缓存在本地,最常见的是直接以文件缓存在本地就好了,当然你可以缓存在本地的 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论