上一篇分析了LinkedHashMap源代码,这个Map集合除了拥有HashMap的大部分特性之外。还拥有链表的特点,即能够保持遍历顺序与插入顺序一致。另外。当我们将accessOrder设置为true时。能够使遍历顺序和訪问顺序一致,其内部双向链表将会依照最近最少訪问到最近最多訪问的顺序排列Ent ...
分类:
系统相关 时间:
2017-07-18 19:49:44
阅读次数:
253
前面研究了LruCache,它作为如今用的最多的内存缓存方案已经在非常多开源缓存框架中使用。相同的还有硬盘缓存方案也就是DiskLruCache,通常的做法就是使用内存和硬盘二级缓存。 用法 1.存储: DiskLruCache diskLruCache= open(File directory, ...
分类:
系统相关 时间:
2017-06-28 11:00:46
阅读次数:
255
public class LurCache { private final LinkedHashMap map; private int size; // 已经存储的大小 private int maxSize; // 规定的最大存储空间 private int putCount; // put的次... ...
分类:
移动开发 时间:
2017-06-19 12:56:34
阅读次数:
159
LruCache是一个非常好用的图片缓存工具: 主要做法是:滑动图片时将图片的bitmap缓存在LruCache<String, Bitmap>中,退出程序后将图片缓存进文件中。採用DiskLruCache mDiskLruCache 所以我们必须设置一个图片缓存的地址: public void s ...
分类:
系统相关 时间:
2017-06-02 17:39:57
阅读次数:
243
对象的引用的级别 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。即只有对象处于可触及(reachable)状态,程序才能使用它。 从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。 这4种级别由高到低依次为:强引用 ...
分类:
系统相关 时间:
2017-04-07 00:32:05
阅读次数:
236
参考:详细解读LruCache类 Android Bitmap深入介绍(二) 优化技术 1.初始化缓存大小 ...
分类:
其他好文 时间:
2017-03-25 13:51:26
阅读次数:
192
LruCache是一个泛型类,它内部采用LinkedHashMap,并以强引用的方式存储外界的缓存对象,提供get和put方法来完成缓存的获取和添加操作。当缓存满时,LruCache会移除较早的缓存对象,然后再添加新的缓存对象。对Java中四种引用类型还不是特别清楚的读者可以自行查阅相关资料,这里不 ...
分类:
系统相关 时间:
2017-02-24 15:50:17
阅读次数:
314
import java.util.LinkedHashMap; import java.util.Map; /** * LRU (Least Recently Used) */ public class LRUCache extends LinkedHashMap { private static ... ...
分类:
其他好文 时间:
2017-02-16 23:03:33
阅读次数:
274
1.以单例模式创建ImageLoader对象 2.初始化LruCache(最近最少使用算法的缓存工具类,http://www.cnblogs.com/tianzhijiexian/p/4248677.html),取可用内存的一部分用来存储图片 3.初始化DiskLruCache(硬盘缓存) 4.调用 ...
分类:
移动开发 时间:
2017-02-12 13:34:46
阅读次数:
197
今天使用LruCache写demo的时候,要获取Bitmap的大小 于是就用到了 return bitmap.getRowBytes() * bitmap.getHeight();// 获取大小并返回//Bitmap所占用的内存空间数等于Bitmap的每一行所占用的空间数乘以Bitmap的行数为什么 ...
分类:
移动开发 时间:
2017-01-26 07:41:07
阅读次数:
230