初始化缓存

Lru Cache 将存储所有添加的资源(值)以便快速访问,直到达到内存限制,在这种情况下,它将丢弃较少使用的资源(值)来存储新的资源。

要初始化 Lru 缓存,你需要提供最大内存值。此值取决于你的应用程序要求以及资源保持平滑应用程序使用的重要程度。例如,图像库的建议值将是最大可用内存的 1/8。

另请注意,Lru Cache 基于键值工作。在以下示例中,键是 String,值为 Bitmap

int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
int cacheSize = maxMemory / 8;

LruCache<String, Bitmap> = memoryCache = new LruCache<String, Bitmap>(cacheSize) {
    protected int sizeOf(String key, Bitmap bitmap) {
        return bitmap.getByteCount();
    }
};