我已經使用內存LRU緩存來緩存android應用程序中的位圖。但是在一些位圖加載到LRU地圖後,app強制關閉,表示內存異常。我已經花了整整一天的時間,但還沒有找到解決方案,請任何人都可以幫助我,我很困擾這個問題。提前感謝。如何防止LRU緩存中的內存不足錯誤android
這裏是我的代碼
final int maxMemory = (int) (Runtime.getRuntime().maxMemory()/1024);
final int cacheSize = maxMemory/8;
bitmapHashMap = new LruCache<String, Bitmap>(cacheSize)
{
@SuppressLint("NewApi")
@Override
protected int sizeOf(String key, Bitmap value)
{
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2)
{
return value.getByteCount()/1024;
}
else
{
return (value.getRowBytes() * value.getHeight())/1024;
}
}
};
什麼是cacheSize? – pskink