美文网首页
DBFlow源码分析:缓存相关

DBFlow源码分析:缓存相关

作者: linheimx | 来源:发表于2016-11-14 23:14 被阅读54次

LruCache

说到缓存,不得不提LruCache。

  1. 为什么要用缓存?

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

  1. 为什么要使用LruCache?

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



ModelCache

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


ModelLruCache

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


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


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

SimpleMapCache

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

SparseArrayBasedCache

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

相关文章

  • DBFlow源码分析:缓存相关

    LruCache 说到缓存,不得不提LruCache。 为什么要用缓存? 比如你是个厨师,柴米油盐酱醋茶你要经常使...

  • DBFlow源码分析:model相关

    类结构 结构说明 Model提供表,字段等基本信息, ModelAdapter根据Model提供了一些功能职责:增...

  • DBFlow源码分析:Transaction相关

    事务 1. 封装 DBFlow对事务进行封装:Transaction 封装了什么 代码的执行ITransactio...

  • DBFlow源码分析:SQLite

    入口 他是增删改查以及索引,触发的入口: 提供便捷的入口来使用增删改查。 select update insert...

  • Glide源码分析五——缓存相关

    DataSource(数据源) 数据源有5种类型: LOCAL:本地数据,例如本地图片文件,也可能是通过Conte...

  • SDWebImage 源码分析之 SDMemoryCache 和

    SDMemoryCache 源码分析 上次我们分析过 AFN 的源码,也分析过 AFN 的 内存缓存,这里再分析下...

  • TMCache

    1.TMCache源码分析(一)---TMMemoryCache内存缓存2.TMCache源码分析(二)---TM...

  • DBFlow文档:缓存

    前言 为了提高性能,DBFlow 支持缓存。这可以快速的获取到你想要的数据。 注意1 默认是不启用缓存的,但可以很...

  • Glide源码分析

    一、源码分析:1、with()2、load()3、into()二、缓存机制1、Glide缓存机制简介1.1缓存的图...

  • Glide->02Bitmap复用

    参考文章: Glide源码分析之缓存处理 Glide缓存机制 一、源码解析: 如果是第一次加载图片, 即不存在缓存...

网友评论

      本文标题:DBFlow源码分析:缓存相关

      本文链接:https://www.haomeiwen.com/subject/ptdkpttx.html