我已经使用内存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