Android Universal Image Loader Mark已失效

时间:2013-11-02 21:17:54

标签: android gridview jpeg universal-image-loader xoom

我使用Universal Image Loader显示图像。它们从Web目录下载并显示在Gridview中。似乎工作得很好,除非图片最初是从Xoom平板电脑发送的。图片是.jpg平均180kb。我确信除了Xoom之外还有更多的设备可以做到这一点,但我无法弄清楚原因。图片不会显示并给我输入/输出错误吐司。我的logcat显示了这个

11-02 14:32:48.840: E/ImageLoader(2376): Mark has been invalidated.
11-02 14:32:48.840: E/ImageLoader(2376): java.io.IOException: Mark has been invalidated.
11-02 14:32:48.840: E/ImageLoader(2376):    at java.io.BufferedInputStream.reset(BufferedInputStream.java:350)
11-02 14:32:48.840: E/ImageLoader(2376):    at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.defineImageSizeAndRotation(BaseImageDecoder.java:88)
11-02 14:32:48.840: E/ImageLoader(2376):    at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:69)
11-02 14:32:48.840: E/ImageLoader(2376):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:305)
11-02 14:32:48.840: E/ImageLoader(2376):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:260)

onCreate中的我的图像加载程序代码是

imgLoader = ImageLoader.getInstance();
    DisplayImageOptions displayOptions = new DisplayImageOptions.Builder()
            .cacheInMemory(true).cacheOnDisc(true)
            .resetViewBeforeLoading(true)
            .showStubImage(R.drawable.ic_empty).build();

    config = new ImageLoaderConfiguration.Builder(this)
            .defaultDisplayImageOptions(displayOptions).build();

    imgLoader.init(config);

最后用于显示图像

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        if (convertView == null) {
            imageView = new ImageView(albumdisplay.this);
            imageView.setLayoutParams(new GridView.LayoutParams(200, 200));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);

        } else {
            imageView = (ImageView) convertView;
        }

        imgLoader.displayImage(imageUrls[position], imageView);
        return imageView;
    }

}

我只是不明白为什么它可以显示一个.jpg而不是另一个。在网页上查看时,相关图像显示正确。有任何想法吗?谢谢。

0 个答案:

没有答案