title: Recycle bitmaps on a listview causes issues
body: <p>I got a list view where im displaying images, these images are downloaded and cache properly. As I scroll down the list and load new items I want to recycle the least recently used ones to save on memory. I have successfully implemented the LRU Map and im  calling recycle on bitmaps which are not visible on the screen. Here is part of the code:</p>
  
  <p>imageView is a ViewGroup</p>
  
  <pre><code>public void recycleImage(int res) {
      if (imageView != null) {
          imageView.setBackgroundDrawable(null);
          if (res &gt; 0)
              imageView.setBackgroundResource(res);
      }
  
      if (bitmap != null &amp;&amp; !bitmap.isRecycled()) {
          bitmap.recycle();
  
          Log.i(TAG, "Bitmap recycled");
      }
  }
  </code></pre>
  
  <p>Those values are saved on the getView method of the adapter. The problem is that as I recycle images I can see how the ones visible on the screen also get lost (note im only recycling the ones I know are out of the screen). </p>
  
  <p>Does anyone have an idea of why im losing the images currently displayed when I recycled the bitmaps of others on the listview?</p>
  
  <p>This is where I access the stored bitmap or download it.</p>
  
  <pre><code>   if (mImageMap.containsKey(url)) { 
         ImageCacheModel cache = mImageMap.get(url); 
         return cache.getBitmap(); 
     } else if (cacheManager.isUrlCached(url)) { 
         mImageMap.put(url, new ImageCacheModel(imageView, cacheManager.getCachedBitmapOrNull(url, 2)));
  
          ImageCacheModel cache = mImageMap.get(url);
          return cache.getBitmap();
      } else {
          cacheManager.addUrlToQueue(url, this, true);
      }
  </code></pre>