UML如下:
- MemoryCache
定義了在內存中添加和移除資源的接口敞掘,還提供了獲取當前緩存信息的接口萍肆,如緩存最大值以及當前的緩存大小(單位字節(jié))昙沦。 - ResourceRemovedListener
在緩存中,每當有資源被移除,該接口會得到回調脂崔。 - MemoryCacheAdapter
一個簡單的實現(xiàn)了MemoryCache的子類锈玉,實際工程并不會使用它爪飘,目前僅在測試用例中。 - LruCache
一個使用LRU算法移除元素的有限制的緩存拉背。內部使用了LinkedHashMap數據結構來實現(xiàn)了LRU算法师崎,關鍵點在于
LinkedHashMap構造方法的第三個參數accessOrder。 - LruResourceCache
一個對Glide#Resource的LRU內存緩存椅棺。
在工程中犁罩,我們的MemoryCache的實現(xiàn)就是LruResourceCache齐蔽,當然我們可以在GlideBuilder 的setMemoryCache設置自己的內存緩存。