2014-01-14 48 views
0

我在我的應用程序中使用UIL lib,我從我的Amazon S3服務器獲取圖像。
我已經覆蓋了BaseImageDownloader類:Android通用圖像加載器,停止重試

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不斷重試一遍又一遍地加載圖像。如果沒有這樣的圖像,我希望不要再試一次。

回答

2

UIL不會重新嘗試加載圖像。如果你返回null那麼你會得到 onLoadingFailed(...)回調。如果再次調用displayImage(...)作爲同一個URL,則UIL將嘗試再次加載圖像。

如果您想阻止它,那麼您應該在某處保留「壞」URL,而不是爲這些URL調用ImageLoader,或者在ImageDownloader中爲這些URL返回null。

相關問題