1
我有一組圖像需要從相應的url下載。任何人都可以告訴如何繼續緩存這些圖像?請回復。如何在android中執行圖像緩存
我有一組圖像需要從相應的url下載。任何人都可以告訴如何繼續緩存這些圖像?請回復。如何在android中執行圖像緩存
您可以通過調用getCacheDir()
來獲得內部存儲緩存目錄,該目錄是您的應用用作存儲的專用區域,不能被任何人或任何其他應用訪問。您也可以通過調用getExternalCacheDir()
來獲得外部存儲(sd卡)緩存目錄,在這種情況下,用戶可以訪問它。您可以在Android的Data Storage關於其開發指南的章節閱讀更多關於此的內容。
在downlaoding方面並保存圖像,你可以做到以下幾點:
URL url = new URL(url);
HttpURLConnection ucon = (HttpURLConnection) url.openConnection();
Bitmap image = Bitmap.decodeStream(ucon.getInputStream);
File cacheDir = getCacheDir();
File imageFile = new File(cahceDir, "downloadedImage.png");
FileOutputStream fos = new FileOutputStream(imageFile);
image.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
fos.flush();
要小心下載大圖片,因爲這可能會導致OOM錯誤(內存不足),所以你可能包住帶有SoftReference對象的位圖對象以避免此錯誤。即
SoftReference<Bitmap> softref = new SoftReference(image);
感謝Hakan的幫助。 – Mathew 2011-03-22 12:09:02