我目前在應用程序的cache
子目錄中有我的應用程序緩存圖像文件。這些圖像用於ListView
並存儲在SoftReferences
至Bitmaps
的HashMap
中。在Android中緩存文件時的最佳做法
所以我的問題是,什麼是緩存這些圖像文件,無需誇大我的應用程序使用並保持從用戶的角度來看響應空間的最佳方式。
事情我很擔心:
我知道用戶可以清除緩存,當空間不足的內部存儲器是自動完成的,但我覺得大多數用戶將看到一個幾MB的應用程序,並卸載。此外,如果空間不斷減少,我的應用程序將繼續下載圖像,使其顯得較慢。
大多數設備都預裝了SD卡,但未插入時該怎麼辦?與內部存儲相比,SD卡速度可能會更慢,從而影響我應用的性能。
我應該包含一個選項來選擇緩存的位置嗎?
我應該試圖控制我的緩存的大小(無論是在/緩存或/ SD卡)或只是忘了呢?
謝謝你的時間(我知道的時間很長),並請張貼任何相關的經驗。
我喜歡你的想法,防止畫廊看到圖像。畫廊在什麼條件下將它們撿起來?我還沒有看到隨機圖片,我知道我的手機上有一些應用程序像twidroid緩存它們。 – smith324 2010-08-23 18:41:47
@ chris324看看http://developer.android.com/guide/topics/data/data-storage.html#filesExternal,標題爲'Saving files that should be shared' – Eric 2010-08-23 22:07:58
@Eric感謝您的鏈接,看起來像一個名爲'.nomedia'的空文件的外部目錄將被mediascanner忽略。 它看起來像getExternalCacheDir()在2.2中是新的,這將是有用的。 – smith324 2010-08-23 23:04:51