使用Volley缓存图片时,缓存无效的原因。
来源:互联网 发布:淘宝转运到澳洲要多久 编辑:程序博客网 时间:2024/04/27 20:02
使用Volley的ImageLoader异步获取并缓存图片时,发现有的网络图片已经缓存了,但是断网后却读不出来。
ImageLoader的使用方法:
RequestQueue requestQueue = Volley.newRequestQueue(context); //设置缓存 int maxSize = 100 * 1024 * 1024; final LruCache<String, Bitmap> lruCache = new LruCache<String, Bitmap>(maxSize){ @Override protected int sizeOf(String key, Bitmap value) { return value.getRowBytes() * value.getHeight(); } }; //设置该图片的缓存,如果有缓存则从缓存中读取 ImageLoader.ImageCache imageCache = new ImageLoader.ImageCache() { @Override public void putBitmap(String key, Bitmap value) { lruCache.put(key, value); } @Override public Bitmap getBitmap(String key) { return lruCache.get(key); } }; ImageLoader imageLoader = new ImageLoader(requestQueue, imageCache); //getImageListener方法第一个参数为你要加载图片的ImageView,第二个为默认图片,第三个为加载失败时显示的图片,可以为空 ImageLoader.ImageListener listener = ImageLoader.getImageListener(mImageView, R.drawable.image_loading, R.drawable.image_error); imageLoader.get(imageUrl, listener);
原因是因为网络图片的cache-control设置为max-age = 0了,所以重新去读取图片的时候,这个图片一直是过期的,只能重新从网上获取。
解决方法:设置cache-control 为 public,max-age=31536000。
0 0
- 使用Volley缓存图片时,缓存无效的原因。
- Volley 使用的缓存
- 关于Volley图片的三级缓存的基本使用
- volley进行图片缓存
- 使用volley实现android的三级缓存
- Volley 加载图片,文件缓存
- Volley缓存方式下载图片
- 图片缓存器 需要volley
- Volley的缓存机制
- Volley的缓存策略
- Volley的缓存策略
- 使用Volley获取网络图片,并作本地缓存
- 使用Volley获取网络图片,并作本地缓存
- 使用Volley三级缓存机制优化ListView加载图片
- Android Volley框架的使用之图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- Android Volley框架的使用(四)图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- 批量调整word中图片的大小
- jar包中读取.properties文件的顺序问题
- 最简单的基于FFMPEG的Helloworld程序
- 黑马程序员--------Java排序总结
- Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
- 使用Volley缓存图片时,缓存无效的原因。
- Android之如何使用javascript调用android代码
- MongoTemplate操作mongodb
- C++栈、堆、队列
- PageRank的CUDA实现
- 基于DirectShow获取音频视频输入设备列表
- 浅析Lua中table的遍历和删除
- 给表的字段添加唯一性约束
- 微信开发的CreateTime