@Override public void onDestroy() { super.onDestroy(); if (downloadTask != null && downloadTask.getStatus() == AsyncTask.Status.RUNNING) { downloadTask.cancel(true); } }
private static boolean cancelPotentialDownload(String url, ImageView imageView) { DownloadImageTask 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; }
@Override public void onDestroyView() { Drawable drawable = imageView.getDrawable(); if (drawable != null) { if (drawable instanceof GifDrawable) { ((GifDrawable) drawable).recycle(); } else { drawable.setCallback(null); } imageView.setImageDrawable(null); } super.onDestroyView(); if (task != null && task.loading && !task.isCancelled()) { task.cancel(true); } }