我在多个地方使用指定的视图调用displayImage。有时,当视图仍未膨胀且宽度和高度为0时,有时,当视图具有有效大小时。
因此,我注意到有时我的应用程序会闪烁。经过进一步的调查,我发现ImageLoader在结尾处具有多个具有不同分辨率后缀的键,它们代表同一张图像。
ImageLoader.getInstance().getMemoryCache().keys()
如果我这样手动检索这两个键的值:
Bitmap bitmap = ImageLoader.getInstance().getMemoryCache().get("https://url_720x1280");
然后将位图保存到存储卡,我留下了两次相同的图像,其大小为1500x1000 px。
给我的印象是,UniversalImageLoader实际上根据分辨率创建了图像的多个调整大小的版本,但从我的观察来看,并不是这样。那么为什么同一张图片有不同的键呢?
如果基础图像相同,如何确保缓存的图像始终获得相同的密钥?