Android网络图片缓存
获取一张图片,从三个地方进行获取,首先是内存缓存,然后是文件缓存,最后才从网络中获取。
ImageMemoryCache :从内存获取缓存图片;
ImageFileCache:从文件获取缓存图片;
ImageGetFromHttp:从网络中获取图片;
一下是代码:
// 1.内存中获取缓存的图片
package com.wang.imageutils;
import java.lang.ref.SoftReference;
import java.util.LinkedHashMap;
import android.app.ActivityManager;
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;
/**
* 内存缓存
* 从内存读取数据速度是最快的,为了更大限度使用内存,这里使用了两层缓存。
* 硬引用缓存不会轻易被回收,用来保存常用数据,不常用的转入软引用缓存。
* @author wang
*
*/
public class ImageMemoryCache {
/**
* 从内存读取数据速度是最快的,为了更大限度使用内存,这里使用了两层缓存。
* 硬引用缓存不会轻易被回收,用来保存常用数据,不常用的转入软引用缓存。
*/
private static final int SOFT_CACHE_SIZE = 15; // 软引用缓存容量
private static LruCache