ImageLoader获取本地缓存图片的bitmap
来源:互联网 发布:民生银行软件有问题 编辑:程序博客网 时间:2024/05/19 23:57
在初始化imageoption的时候,如果我们调用了.cacheInMemory()和.cacheOnDisc(),加载图片使用这个Option,图片加载完成以后就会缓存到内存和本地存储中;
这时候 如果是加载过的图片,我们直接加载的时候,出现的之前存的图片,这样就不会消耗流量。
不过有时候我们需要获得图片的尺寸等信息,无法直接获取,我们就需要获取图片的bitmap,但是我们又不愿意重新再去下载图片,这样既消耗资源又消耗流量,得不偿失,其实ImageLoader本身就为我们提供了获取缓存图片的方法;
根据url获取缓存bitmap方法如下
public static Bitmap getCacheImage(String uri){//这里的uri一般就是图片网址 List<String> memCacheKeyNameList = MemoryCacheUtil.findCacheKeysForImageUri(uri , mImageLoader.getMemoryCache()); if(memCacheKeyNameList != null && memCacheKeyNameList.size() > 0){ for(String each:memCacheKeyNameList){ } return mImageLoader.getMemoryCache().get(memCacheKeyNameList.get(0)); } return null; }
此方法可以获取内存缓存中的bitmap,但是,内存中的图片并不代表原图,因为imageloader做了缩略图,按照这个拿来一般是不对的,这时候我们可以从本地存储中获取原始图片缓存,方法如下
public static Bitmap getDiscCacheImage(String uri){//这里的uri一般就是图片网址 File file = DiscCacheUtil.findInCache(uri, mImageLoader.getDiscCache()); try { String path= file.getPath(); return BitmapFactory.decodeFile(path);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();} return null; }
通过这个方法 我们就能获取到原始尺寸的图片了
0 1
- ImageLoader获取本地缓存图片的bitmap
- 关于ImageLoader加载本地缓存下来的图片的问题?
- android如何用imageloader获取bitmap图片
- 图片缓存ImageLoader的使用
- 设置ImageLoader的图片缓存
- ImageLoader获取bitmap对象
- Android -- ImageLoader本地缓存
- Android -- ImageLoader本地缓存
- Android -- ImageLoader本地缓存
- Android -- ImageLoader本地缓存
- Android -- ImageLoader本地缓存
- Android ImageLoader 本地缓存
- ImageLoader网络加载图片——可以本地缓存
- ImageLoader实现Bitmap三级缓存
- ImageLoader加载本地图片的工具类
- 自写的ImageLoader用于缓存图片
- ImageLoader框架实现的图片缓存
- 计算ImageLoader加载图片的缓存大小
- Spring mvc + mybatis web项目当系统启动时运行某方法查询数据库内容
- hiho一下 第119周 #1398 : 网络流五·最大权闭合子图 【最小割-最大流--Ford-Fulkerson 与 Dinic 算法】
- 线程工具类
- 重新认识CocoaTouch
- 白话经典算法系列之六 快速排序 快速搞定
- ImageLoader获取本地缓存图片的bitmap
- B树
- WebStorm使用TypeScript
- Cadence16.5 叠层设置怎样设置正片负片
- 最短路径整理(未完成)
- office2007 安装出现的问题
- Linux中表示“时间”的结构体和相关函数
- maven 基础教程
- 基于概率模型的聚类