Universal Image Loader缓存图像

时间:2014-08-06 09:42:36

标签: android caching universal-image-loader

我无法找到将图片加载到缓存中的正确工作流程。

我想做什么:

  • 显示进度条
  • 从REST服务获取数据并将其加载到SQLite数据库
  • 某些对象包含JSON中的网址>将这些图像加载到缓存中 它们在需要时快速装载
  • 取消进度条

我从休息中加载了所有数据并存储在数据库中, 但我不熟悉缓存图片。

到目前为止我做了什么: - 在我的项目中插入通用图像加载器 (https://github.com/nostra13/Android-Universal-Image-Loader) - 我试过了

imageLoader.loadImage(url of an image, new SimpleImageLoadingListener() {

                    @Override
                    public void onLoadingStarted(String imageUri, View view) {
                        super.onLoadingStarted(imageUri, view);
                        //notify me the image started loading
                    }

                    @Override
                    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                        super.onLoadingComplete(imageUri, view, loadedImage);
                        //notify me the image is loaded
                    }
}

但是当我检查时:

int size = MemoryCacheUtils.findCachedBitmapsForImageUri(url from that image, ImageLoader.getInstance().getMemoryCache()).size();
             //show me the size

它始终为零。

我的问题如下:我是朝着正确的方向前进,还是需要以另一种方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

我找到了一个更好的解决方案:ShutterBug(适用于iOs的SDWebImage的Android替代方案)。将URL添加到ShutterbugManager很容易,当我想用​​图像填充ImageView(Shutterbug中的FetchableImageView)时,它会从缓存中抓取图像。