我正在尝试使用通用图像加载器缓存图像
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().cacheOnDisk(true).cacheInMemory(true).imageScaleType(ImageScaleType.EXACTLY).resetViewBeforeLoading(true)
.displayer(new BitmapDisplayer(100)).bitmapConfig(Bitmap.Config.RGB_565).build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).defaultDisplayImageOptions(defaultOptions).memoryCache(new WeakMemoryCache())
.diskCacheSize(10 * 1024 * 1024).build();
ImageLoader.getInstance().init(config);
用于显示图像
ImageLoader.getInstance().displayImage(imageUrl, imageview,defaultOptions);
现在我可以知道图像是从缓存还是从网址加载的?
答案 0 :(得分:0)
您可以使用以下方法检查
MemoryCacheUtils.findCachedBitmapsForImageUri(imageUri, ImageLoader.getInstance().getMemoryCache());
这会让你知道这个
答案 1 :(得分:0)
您可以将config.writeDebugLogs();
添加到Universal Image Loader配置
ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context);
config.threadPriority(Thread.NORM_PRIORITY - 2);
config.denyCacheImageMultipleSizesInMemory();
config.diskCacheFileNameGenerator(new Md5FileNameGenerator());
config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
config.tasksProcessingOrder(QueueProcessingType.LIFO);
config.writeDebugLogs(); // Remove for release app
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config.build());
然后在加载图片时,检查 logcat 以了解图片是从缓存还是从网址加载