@Override protected SingleResponse<File> doInBackground(Object... params) { final DiskCache diskCache = mPreLoader.mDiskCache; final File cachedFile = diskCache.get(mUri); if (!mForceReload && cachedFile != null && cachedFile.isFile() && cachedFile.length() > 0) return SingleResponse.getInstance(cachedFile); InputStream is = null; try { is = mPreLoader.mImageDownloader.getStream(mUri, null); diskCache.save(mUri, is, this); return SingleResponse.getInstance(diskCache.get(mUri)); } catch (IOException e) { diskCache.remove(mUri); Log.w(LOGTAG, e); return SingleResponse.getInstance(e); } finally { IoUtils.closeSilently(is); } }