Java基础系列 Java泛型 1. Java总结篇系列:Java泛型 HashMap实现 1.HashMap实现原理 强引用、软引用、弱引用、虚引用介绍 1. Java 如何有效地避免OOM:善于利用软引用和弱引用 图片缓存技术 1. 图片缓存之内存缓存技术LruCache,软引用 2. LRUC ...
分类:
编程语言 时间:
2016-08-11 19:10:12
阅读次数:
174
前言: 在学习LRU算法的时候,看到LruCache源码实现是基于LinkedHashMap,今天学习一下LinkedHashMap的好处以及如何实现lru缓存机制的。 需求背景: LRU这个算法就是把最近一次使用时间离现在时间最远的数据删除掉,而实现LruCache将会频繁的执行插入、删除等操作, ...
分类:
编程语言 时间:
2016-07-31 09:11:53
阅读次数:
255
先上几张效果图:
在加载多图片时,我们采用后进先出策略(即滑动到哪里就先加载哪里的图片),节省了内存的使用,也有了更好的用户体验。接着我们就先定义自己的ImageLoader。①首先我们先定义一些基本的变量private static final int MSG_ADDTASK = 0x001;private LruCache mLruCache;// 图片...
分类:
其他好文 时间:
2016-07-22 19:31:35
阅读次数:
229
图片加载器:1 最重要的为ImageLoader类 :/**
* 保证了图片压缩,缓存和正常加载
* @author micro
*
*/
public class ImageLoader {
/**
* 图片缓存空间
*/
private LruCache mLruCache;
//线程池
private...
分类:
其他好文 时间:
2016-07-22 19:14:32
阅读次数:
149
Android二级缓存之物理存储介质上的缓存DiskLruCache
Android DiskLruCache属于物理性质的缓存,相较于LruCache缓存,则DiskLruCache属于Android二级缓存中的最后一级。通常Android缓存分为两级,第一级是内存缓存,第二级是物理缓存也即DiskLruCache。顾名思义,DiskLruCache就是将数据缓存到Android的物理...
分类:
移动开发 时间:
2016-07-13 16:35:37
阅读次数:
180
AsyncTask异步任务与LruCache缓存策略实现图片加载AsyncTask异步任务...
分类:
系统相关 时间:
2016-07-11 10:42:16
阅读次数:
306
list是双向链表,map保存key对应到list中的迭代器的位置,list保存<key,value> class LRUCache{ public: LRUCache(int capacity) { c = capacity; } int get(int key) { if (mymap.coun ...
分类:
其他好文 时间:
2016-07-03 17:08:20
阅读次数:
152
本文参考郭霖大神的DiskLruCache解析,感兴趣的朋友可以先到http://blog.csdn.net/guolin_blog/article/details/28863651了解。
一、前言
该框架或者说库,主要是用于本地的图片缓存处理。
数据的存入
当你取到图片的元数据,会将数据存入硬盘缓存以及内存缓存中。
数据的获取
取数据的时候,先从内存缓存中取;
如果没有取到,则从硬...
分类:
移动开发 时间:
2016-07-02 14:34:45
阅读次数:
385
Activitypublic class MainActivity extends Activity { private GridView mPhotoWall; private PhotoWallAdapter mAdapter; @Override protected void onCreate... ...
分类:
系统相关 时间:
2016-06-28 21:50:30
阅读次数:
247