Android Universal图像加载器,停止重试

时间:2014-01-14 09:39:59

标签: android universal-image-loader

我在我的应用程序中使用UIL lib,我从我的Amazon S3服务器获取图像。
我已经覆盖了BaseImageDownloader类:

protected InputStream getStreamFromOtherSource(String imageId, Object extra)
        throws IOException {

    TransferManager manager = AmazonParams.getTransferManager();


    File file = null; 
    GetObjectRequest req = new GetObjectRequest(AmazonParams.BUCKET, imageId);
    try{

        file = ImageLoader.getInstance().getDiscCache().get(imageId);

        Download d = manager.download(req, file);

        while (d.isDone() == false);

    }catch (Exception e){
        return null;
    }

    return new FileInputStream(file);


}

但是当我在服务器上遇到404错误(没有这样的图像)UIL,并且我返回null时,UIL会一直重试加载图像。如果没有这样的图像,我希望不要再试一次。

1 个答案:

答案 0 :(得分:2)

UIL不会重试图像加载本身。如果您返回 null ,那么您将获得 onLoadingFailed(...)回调。如果您再次为displayImage(...)拨打相同的网址,则UIL会尝试再次加载图片。

如果你想阻止它,那么你应该在某处保留“坏”URL而不是为这些URL调用ImageLoader,或者在ImageDownloader中为这些URL返回null。