DBFlow源码分析:缓存相关

LruCache

说到缓存,不得不提LruCache。

  1. 为什么要用缓存?

比如你是个厨师,柴米油盐酱醋茶你要经常使用吧,你可以把它们放到小橱柜里。这很方便啊,下次使用直接从橱柜里面去拿。要是你把他们放到商店里(嘿嘿),拿岂不是每次做饭做菜,都得跑到千里之外的商店去买去拿?
你经常使用的数据,那就把它们存储到一个地方吧,这个地方可以是内存,也可以是硬盘。而内存的读写速度比硬盘快多了,所以内存缓存是比较常用的。下次想要使用某个东西,你可以先看内存里面有没有,有的话直接使用,岂不是很快。

  1. 为什么要使用LruCache?

内存是由容量限制的:这个屋子可以放十袋大米,过了几个月后,你有有新的几代大米要放进这个屋子里,你怎么办呢?把最陈最老的几代大米给扔了,然后你再把新的大米放进去。



ModelCache

ModelCache对LruCache进一步包装,对外暴露了几个方法


ModelLruCache

对ModelCache进行具体的实现。使用了LruCache


对数据的存取是根据id来实现的:


综上,利用lrucache对数据的缓存是多么的轻松~

SimpleMapCache

对ModelCache进行具体的实现。使用了HashMap

SparseArrayBasedCache

对ModelCache进行具体的实现。使用了SparseArray

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容