之前写过一篇 什么是缓存?接下来我们详细介绍一下LruCache
LruCache:LRU是最近最少使用的算法,它的核心思想是当缓存满时,会优先淘汰那些最近最少使用的缓存对象。
采用LRU算法的缓存有两种:LruCache和DisLruCache,分别用于实现内存缓存和硬盘缓存,其核心思想都是LRU缓存算法。
LruCache底层是LinkedHashMap实现的,对LruCache不是很了解的可以看看 什么是缓存?,对应的代码可以敲一下,运行一下。
上边说到LruCache,我们就对应说一下Android的三级缓存:LruCache(内存缓存)、DisLruCache(硬盘缓存)、网络缓存。
内存:优先加载, 速度最快。
硬盘:次优先加载, 速度快。
网络:不优先加载, 速度慢,浪费流量。
以图片加载框架为例:
当我们想要重复浏览一些图片时,就是通过三级缓存策略,通过网络、本地、内存三级缓存图片,来减少不必要的网络交互,避免浪费流量。取得时候先从内存中去,没有的时候就去本地硬盘中去取,在没有的时候,就会通过网络获取。
本文详细介绍了LruCache,它采用最近最少使用算法,当缓存满时优先淘汰最近最少使用的对象。LruCache和DisLruCache分别用于内存和硬盘缓存,底层由LinkedHashMap实现。还介绍了Android的三级缓存,即LruCache、DisLruCache和网络缓存,并以图片加载框架为例说明其作用。
564

被折叠的 条评论
为什么被折叠?



