1

我在 android 4.2.2 上遇到了 Universal Image Loader 1.9.1 的问题。这里描述的相同:Android Universal image loader, stop retry。我已经多次阅读 NOSTRA 的答案,但我不知道如何实现它。我应该扩展 BaseImageDownloader 并覆盖 getStream 方法吗?我想使用答案的最后一部分:

UIL 不会自行重试图像加载。如果你返回 null 那么你会得到 onLoadingFailed(...) 回调。如果您再次为同一 URL 调用 displayImage(...),则 UIL 将尝试再次加载图像。如果你想阻止它,那么你应该将“坏”的 URL 保留在某个地方,而不是为这些 URL 调用 ImageLoader,或者在 ImageDownloader 中从这些 URL 返回 null

基本上,避免 UIL 尝试一遍又一遍地联系指向无效图像文件的有效 URL 的最简单方法是什么?我不知道它是否有用,这里是我的配置:

DisplayImageOptions options = new DisplayImageOptions.Builder()
        .resetViewBeforeLoading(true).cacheInMemory(true)
        .cacheOnDisc(true)
        .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
        .showImageForEmptyUri(R.drawable.photo_placeholder)
        .showImageOnFail(R.drawable.photo_placeholder).build();

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
        context).memoryCacheExtraOptions(200, 200)
        .discCacheExtraOptions(200, 200, CompressFormat.JPEG, 75, null)
        .threadPoolSize(5).denyCacheImageMultipleSizesInMemory()
        .memoryCache(new LruMemoryCache(2 * 1024 * 1024))
        .imageDownloader(new BaseImageDownloader(context) {

        })
        .defaultDisplayImageOptions(options).build();

我真的需要一些帮助,我的应用程序大量使用 UIL。

4

1 回答 1

0

正如 UIL 的作者所说,UIL 不会自行重试图像加载。没有必要担心这个

于 2014-11-13T08:52:17.827 回答