Universal Image Loader中的图像解码失败

时间:2014-07-10 11:13:16

标签: android universal-image-loader

我正在使用Nostra的Universal Image Loader来显示图像。这是我想要显示的图像的网址:

http://hitbullseye.com/ATTACHMENT/test6eac134c-81ae-4a47-ba28-f25dcc48718a.jpg

我在logcat中收到以下错误:

enter image description here

我不明白的一件事是为什么UIL会在网址末尾附加_480x800。我检查了图像,它的尺寸是248x72。这是我的代码:

我在其中创建配置的应用程序类:

public class BullsEyeApplicationGlobal extends Application {

@Override
public void onCreate() {
    super.onCreate();
    File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            getApplicationContext())
            .taskExecutor(null)
            .taskExecutorForCachedImages(null)
            .threadPoolSize(3)
            // default
            .threadPriority(Thread.NORM_PRIORITY - 1)
            // default
            .tasksProcessingOrder(QueueProcessingType.FIFO)
            // default
            .denyCacheImageMultipleSizesInMemory()
            .memoryCache(new LruMemoryCache(2 * 1024 * 1024))
            // default
            .discCache(new UnlimitedDiscCache(cacheDir))
            .imageDownloader(
                    new BaseImageDownloader(getApplicationContext())) // default
            .imageDecoder(new BaseImageDecoder(false)) // default
            .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) //
            .writeDebugLogs().build();
    ImageLoader.getInstance().init(config);
}

}

这是我加载图片的地方:

ImageLoader imgL = ImageLoader.getInstance();
        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .resetViewBeforeLoading(false) // default
                .cacheInMemory(true) // default
                .cacheOnDisc(true) // default
                .considerExifParams(false) // default
                .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default
                .bitmapConfig(Bitmap.Config.ARGB_8888) // default
                .build();
        ImageView imgg = (ImageView) v1.findViewById(R.id.test_image);
        imgL.displayImage(js.getString("TestImage"), imgg, options);

1 个答案:

答案 0 :(得分:1)

这不是图书馆的问题。问题是图像是CMYK - 8bit / channel - jpg文件。它们应该是RGB-16 bit / channel-png文件,以使它们可以在所有设备上运行。所以,问题出在图像上。我的问题现在已经解决了,希望能帮到别人!