LRUCache是Android3.1提供的一种缓存算法,类放在frame base core java android util 下面,DiskLRUCache不是官方SDK的一部分,可以
使用UniversalImageLoader来实现。
LruCache是一个泛型类,主要算法原理是把最近最少使用的对象用强引用的方式存储在LinkHashMap中,当缓存满时,把最近最少使用的
对象从内存中移除,提供了put 和 get方法来完成缓存的存放和获取。
LruCachede的核心思想很好理解,就是维护一个缓存对象列表,对象列表排列顺序是按照访问顺序排放的,一直没有访问的对象,
会放在队尾,即将被淘汰。
put 方法,向LinkHashMap 插入一个对象,put,随后调用tirmToSize(),判断是否超过了maxSize,如果超过了,则删除队尾元素,
源码中,是用的LinkHashMap的map.eldest()方法,Entry