我正在设置图片缓存,我有以下
ImageView nimage = (ImageView)v.findViewById(R.id.imView1);
ImageView value = imageCache.get(ei.imageURL);
if (value != null)
nimage = value; // this is the code I want to change
else {
new ImageLoadTask(ei.imageURL, nimage).execute();
imageCache.put(ei.imageURL ,nimage);
}
如何用注释值替换注释值。我不确定为什么我不能让一个imageView等同于另一个imageView。
答案 0 :(得分:1)
你的缓存没有缓存正确的东西。
您不希望缓存ImageView本身 - View的实例与创建它的Context相关联,因此通常不是一个很好的缓存对象。
您实际想要缓存的内容是您从提供给ImageLoadTask
的网址下载的图片(Bitmap对象)。如果您对此进行缓存,则只需调用nimage.setImageBitmap()
即可使用缓存的位图而不是下载它。