lruCache

/**
 * 内存缓存
 * @author Administrator
 *
 */
public class MemoryCacheUtils {
	
	//private HashMap<String,Bitmap> mMemoryCache = new HashMap<String,Bitmap>();
	private LruCache<String, Bitmap> mMemoryCache;
	
	public MemoryCacheUtils(){
		long maxMemory = Runtime.getRuntime().maxMemory(); //每个应用被分配的内存, 模拟器默认是16m
		mMemoryCache = new LruCache<String, Bitmap>((int) (maxMemory/8)){//一般设置为内存的八分之一
			@Override
			protected int sizeOf(String key, Bitmap value) {
				//int byteCount = value.getByteCount(); 版本不兼容这个方法, 可以直接使用像素点宽高乘积获得内存大小
				int byteCount = value.getRowBytes()*value.getHeight();
				return byteCount;
			}
		};
	}
	
	/**
	 * 从内存读
	 */
	public Bitmap getBitmapFromMemory(String url){
		//System.out.println("内存读到数据"+mMemoryCache.get(url));
		return mMemoryCache.get(url);
	}
	/**
	 * 写内存
	 */
	public void setBitmapToMemory(String url, Bitmap bitmap){
		mMemoryCache.put(url, bitmap);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值