public static void display(Context context, String url, ImageView imageView, int[] size) {
   Bitmap bitmapFromMemCache = LruCacheUtil.getBitmapFromMemCache(url);
   if (bitmapFromMemCache != null) {
     imageView.setImageBitmap(bitmapFromMemCache);
   } else {
     if (cancelPotentialDownload(url, imageView)) {
       BitmapDownloaderTask task = new BitmapDownloaderTask(context, imageView, size);
       DownloadedDrawable downloadedDrawable = new DownloadedDrawable(task);
       imageView.setImageDrawable(downloadedDrawable);
       task.execute(url);
     }
   }
 }
  private static boolean cancelPotentialDownload(String url, ImageView imageView) {
    BitmapDownloaderTask bitmapDownloaderTask =
        BitmapDownloaderTask.getBitmapDownloaderTask(imageView);

    if (bitmapDownloaderTask != null) {
      String bitmapUrl = bitmapDownloaderTask.url;
      if ((bitmapUrl == null) || (!bitmapUrl.equals(url))) {
        bitmapDownloaderTask.cancel(true);
      } else {
        // The same URL is already being downloaded.
        return false;
      }
    }
    return true;
  }