【问题标题】:Universal Image Loader not caching correctly通用图像加载器未正确缓存
【发布时间】:2014-01-19 04:54:43
【问题描述】:

在我的主要活动中,我有一个使用 UIL 加载图像的 viewpager。当我登录我的第一个帐户时,它会显示 5 张图像并正确下载它们(在我的缓存文件夹中创建了 5 个文件)。我尝试再次登录,是的,图像是从光盘加载的。

当我登录我的第二个帐户时,它会加载 5 张图片,并且有 4 张与第一个帐户相同的图片,所以我希望它只会在我的缓存文件夹中创建一个文件。但是,UIL 又创建了 5 个文件。

这是登录这两个帐户后缓存目录的内容:

2 copies of 20 KB file
2 copies of 76 KB file
2 copies of 204 KB file
2 copies of 84 KB file
1 copy of 34 KB file
1 copy of 46 KB file

这是我的图片加载器的配置:

File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "/cache");
ImageLoader imageLoader = ImageLoader.getInstance();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
        .discCache(new UnlimitedDiscCache(cacheDir))
        .denyCacheImageMultipleSizesInMemory()
        .writeDebugLogs()
        .build();

imageLoader.init(config);
options = new DisplayImageOptions.Builder()
         .showImageOnFail(android.R.drawable.ic_delete)
         .cacheInMemory(true)
         .cacheOnDisc(true)
         .displayer(new RoundedBitmapDisplayer(10))
         .build();

我如何在 viewpager 的适配器上使用 UIL:

@Override
public Object instantiateItem(ViewGroup container, int position) {

    inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View itemView = inflater.inflate(R.layout.header_item, container,false);
    ImageView img = (ImageView) itemView.findViewById(R.id.imageView);
    ProgressBar progressBar = (ProgressBar) itemView.findViewById(R.id.progressBar);
    display(img, list.get(position), progressBar); //list contains the urls
    ((ViewPager) container).addView(itemView);
    return itemView;
}

public void display(ImageView img, String url, final ProgressBar spinner) {
        imageLoader.displayImage(url, img, App.options, new ImageLoadingListener() {
            //progress bar changing visibility
        } );
    }

【问题讨论】:

    标签: android caching universal-image-loader


    【解决方案1】:

    我发现图片是从不同的网址下载的。是网页开发者的错,即使图片相同,他也使用不同的链接..

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 2012-07-11
      • 2014-02-07
      • 2015-06-20
      • 2015-04-02
      • 2013-08-28
      • 2014-01-14
      • 2016-02-29
      • 2014-10-14
      相关资源
      最近更新 更多