【问题标题】:Universal Image Loader not loading image for specific link通用图像加载器未加载特定链接的图像
【发布时间】:2015-04-25 14:32:31
【问题描述】:

我开始使用通用图像加载器而不是毕加索,以避免图像不加载问题。现在它也出现在 Universal Image Loader 中。相同的唯一图像会出现同样的问题,但其他图像则不会。

有问题的图片:

http://luxproperty.kaytami.com/platform/media/image/jpeg/2015/01/4_4.jpg

其他行为正常的图片:

http://luxproperty.kaytami.com/platform/media/image/jpeg/2015/01/4.2_4.jpg

http://luxproperty.kaytami.com/platform/media/image/jpeg/2015/01/4.3_4.jpg

http://luxproperty.kaytami.com/platform/media/image/jpeg/2015/01/4.4_4.jpg

它们的大小相似。关于我的通用图像加载器,设置是这样的:

在应用中:

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
        .threadPriority(Thread.NORM_PRIORITY - 2)
        .denyCacheImageMultipleSizesInMemory()
        .diskCacheFileNameGenerator(new Md5FileNameGenerator())
        .diskCacheSize(50 * 1024 * 1024) // 50 Mb
        .tasksProcessingOrder(QueueProcessingType.LIFO)
        .build();
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config);

活动中:

    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.drawable.image_placeholder)
            .showImageForEmptyUri(R.drawable.image_error)
            .showImageOnFail(R.drawable.image_error)
            .cacheInMemory(true)
            .cacheOnDisk(true)
            .considerExifParams(true)
            .build();

    .......

    ImageLoader.getInstance().displayImage(url), image, options);

任何提示将不胜感激。无论如何,我无法摆脱这个问题,无论是 Picasso 还是 Universal Image Loader ......

我之前使用毕加索的 StackOverFlow:

Picasso cannot load images for some URL (no special characters)

【问题讨论】:

  • 你在指责 Picasso 和 Universal Image Loader。但这公平吗?他们只下载该图像并将其分配给 ImageView。我认为图像视图拒绝该图片。或使用的位图工厂。将图片放在您的设备上,然后使用常用代码在图像视图中查找。

标签: android universal-image-loader


【解决方案1】:

似乎图像已损坏,因为在 Photoshop 中下载并打开它也会引发错误。您还可以查看图像底部的模糊像素。

虽然我知道还有一种图像加载失败的情况是在加载 CMYK 颜色格式的图像时。 Android 不支持 CMYK,虽然有一些第三方库可以加载 CMYK 图像,但我不认为它适合你。我坚信该图像已损坏。

【讨论】:

  • 谢谢。我也注意到了模糊的像素。也许这就是原因。这个问题只出现在这张图上,其他的都没有,所以我觉得这个理由很有说服力。
【解决方案2】:
imageLoader = ImageLoader.getInstance();
    prova = context;

    options = new DisplayImageOptions.Builder()
    //.displayer(new RoundedBitmapDisplayer(1000))
    .showImageOnLoading(R.drawable.placeholder)
    .showImageForEmptyUri(R.drawable.placeholder) 
    .showImageOnFail(R.drawable.placeholder)
    .cacheInMemory(true)
    .cacheOnDisc(true)
    .considerExifParams(true)
    .bitmapConfig(Bitmap.Config.RGB_565)
    //  .displayer(new RoundedBitmapDisplayer(70))//////
    .build();

//请注意,您在处理图像的适配器中使用它,并确保在清单应用程序中安装您的 UIL 类

<application
    android:name="com.example.UILApplication"

【讨论】:

  • 我改了bitmapConfig,还是不行。
  • 检查您的 UIL 并确保您的 UIL 是 1.9.3
猜你喜欢
  • 1970-01-01
  • 2017-04-07
  • 2014-12-28
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 2015-03-21
相关资源
最近更新 更多