初始化快取

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();
    }
};