/** * get one image from three places, imageMemoryCache,imageFileCache,network * * @param url The URL of the image to download. * @return Bitmap return a bitmap */ private Bitmap getBitmap(final String url) { if (null == url || "".equals(url)) { return null; } // get image from mLruMemoryCache Bitmap result = null; result = mLruMemoryCache.get(url); if (result == null) { // get image from imageFileCache result = imageFileCache.getImage(url); if (result == null) { // get image from network // result = getImageHttp(url); result = getImageFromHttp(url); if (result != null) { if (mLruMemoryCache.get(url) == null) { mLruMemoryCache.put(url, result); } imageFileCache.addImgToSDTask(url, result); } } else { if (mLruMemoryCache.get(url) == null) { mLruMemoryCache.put(url, result); } } } return result; }
@Override public void put(String key, Bitmap bitmap) { mMemoryCache.put(key, bitmap); }