我有一個ListView這表明許多位圖圖像(縮略圖)(下載,調整大小,70%壓縮JPEG)在Android中將位圖對象緩存到內存的位置何處停止?
我使用的MemoryCache停止從磁盤讀取文件。
private static HashMap<String,Bitmap> memoryCache
我有另一個功能,根據它的字節數清除緩存。 但是我應該在哪裏停下來?什麼應該是緩存的字節限制?即使它是縮略圖,(因爲它是位圖對象)它快速填充內存。
我有一個ListView這表明許多位圖圖像(縮略圖)(下載,調整大小,70%壓縮JPEG)在Android中將位圖對象緩存到內存的位置何處停止?
我使用的MemoryCache停止從磁盤讀取文件。
private static HashMap<String,Bitmap> memoryCache
我有另一個功能,根據它的字節數清除緩存。 但是我應該在哪裏停下來?什麼應該是緩存的字節限制?即使它是縮略圖,(因爲它是位圖對象)它快速填充內存。
您應該使用LruCache來實現此目的。該文檔包含一個很好的示例,完全適用於位圖緩存。
請注意,如果您的目標是2.x,則Android支持包中會包含此類。
在這個例子中,我看到4 MiB,這是一個很好的價值?低?高?如何確定這個值,我可以(應該)根據當前設備的每應用程序內存限制等動態計算它?如果是,我該怎麼做?這是我正在尋找答案的真正問題:| – frankish
我使用堆大小的%年齡,可通過http://developer.android.com/reference/android/app/ActivityManager.html#getMemoryClass%28%29獲取 –
查看[Android Universal ImageLoader](https://github.com/nostra13/Android-Universal-Image-Loader)它是一個庫,它可以在加載圖像時處理所有的緩存。 – FoamyGuy