我正在尝试遵循一个关于安卓应用程序使用LruCache的2年前的教程,一些我搜索到的示例都有相同的方法,即传递被转换为KiB的值(int类型)。
final int maxMemory = (int)(Runtime.getRuntime().maxMemory() / 1024);
final int cacheSize = maxMemory / 8; //use 1/8th of what is available
imageCache = new LruCache<>(cacheSize);
然而从谷歌文档中得知,传递的int值似乎被转换为字节(从MiB):
https://developer.android.com/reference/android/util/LruCache.htmlint cacheSize = 4 * 1024 * 1024; // 4MiB
LruCache<String, Bitmap> bitmapCache = new LruCache<String, Bitmap>(cacheSize) {
protected int sizeOf(String key, Bitmap value) {
return value.getByteCount();
}
}
我想知道哪一个是正确的计量单位。非常感谢提供任何答案。