我正在设置一个图像缓存,我有以下内容
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。
发布于 2015-07-02 13:49:23
您的缓存没有缓存正确的内容。
您不希望缓存ImageView本身--视图的一个实例与创建它的上下文相关联,因此通常不是一个很好的缓存对象。
实际上,您想要缓存的是从您提供给ImageLoadTask的URL中下载的图像(位图对象)。如果您缓存它,那么您可以简单地调用nimage.setImageBitmap()来使用缓存的位图而不是下载它。
https://stackoverflow.com/questions/31186383
复制相似问题