文章目录
LruCache 是 Android 中提供的一个内存缓存类,使用 Least Recently Used (LRU) 算法来管理缓存中的对象。
LruCache 的主要目的是在内存使用达到指定限度时,自动移除最久未使用的缓存对象,从而确保内存不被过度占用。
LruCache 的底层实现结合了多种数据结构和算法,来高效地实现这一目标。
一、LRU简介
LRU
是 Least Recently Used
的缩写,这种算法认为最近使用的数据是热门数据,下一次很大概率将会再次被使用。
而最近很少被使用的数据,很大概率下一次不再用到。
当缓存容量满的时候,优先淘汰最近很少使用的数据。
假设现在缓存内部数据如图所示:
这里我们将列表第一个节点称为头结点,最后一个节点为尾结点。
当调用缓存获取 key=1
的数据,LRU
算法需要将 1 这个节点移动