title: Android - Storing images downloaded from the web
body: <p>I had a question related to whether or not (and how) I should store images loaded from the web.  Let's say I am calling a web service from my Android app.  In this web service I get a URL for an image on the web.  I download and show this image on the left side of a list item in a ListView.  My question is, what method should I use for possibly storing the image?  Should I:</p>
  
  <ol>
  <li>Save it to the SDCard, checking if it exists when the ListView is created (on subsequent requests) and re-downloading as necessary (while updating the image occasionally, in case it changes).</li>
  <li>Store it in the cache using Context.getCacheDir(), but possibly being forced to re-download it more often since I cannot rely on the image staying in the cache.</li>
  <li>Always download it and never store the image.</li>
  </ol>
  
  <p>The image files themselves are fairly small, but I expect some users could have dozens of these small images downloaded/stored.  Which would work best, and/or what is the preferred method?</p>
  
  <p>As a side question, should I load all of the images in my ListView first (and possibly lock the UI for some time) or load them asynchronously but show a placeholder graphic in the meantime (which might be a bit more "ugly")?  What's the standard here?</p>