Android Универсальный загрузчик изображений, остановите попытку
Я использую библиотеку UIL в своем приложении, я получаю изображения с моего сервера 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 ответ
UIL не повторяет загрузку изображения самостоятельно. Если вы вернете ноль, то вы получите onLoadingFailed(...)
Перезвоните. Если вы позвоните displayImage(...)
для того же URL снова, тогда UIL попытается загрузить изображение снова.
Если вы хотите предотвратить это, вы должны где-то хранить "плохие" URL-адреса и не вызывать ImageLoader для этих URL-адресов или возвращать null в ImageDownloader для этих URL-адресов.