一、原理
概述
说起缓存,大家可能很容易想到Http的缓存机制,LruCache,其实缓存最初是针对于网络而言的,也是狭义上的缓存,广义的缓存是指对数据的复用,我这里提到的也是广义的缓存,比较常见的是内存缓存以及磁盘缓存,
缓存策略
不管是内存缓存还是磁盘缓存,缓存的容量都是有限制的,所以跟线程池满了之后的线程处理策略类似,缓存满了的时候,我们也需要有相应的处理策略,常见的策略有:
- FIFO(first in first out):先进先出策略,类似队列。
- LFU(less frequently used):最少使用策略,RecyclerView的缓存采用了此策略。
- LRU(least recently used):最近最少使用策略,Picasso在进行内存缓存的时候采用了此策略。
当缓存容量达到设定的容量的时候,会根据制定的策略进行删除相应的元素。
二、介绍
ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。
其github网址:https://github.com/yangfuhai/ASimpleCache
它在android中可以用在哪些场景?
- 1、替换SharePreference当做配置文件
- 2、可以缓存网络请求数据,比如oschina的android客户端可以缓存http请求的新闻内容,缓存时间假设为1个小时,超时后自动失效,让客户端重新请求新的数据,减少客户端流量,同时减少服务器并发量。