1. LRU。
LRU是Least Recently Used 近期最少使用算法晒杈。內(nèi)存管理的一種頁(yè)面置換算法获询,對(duì)于在內(nèi)存中但又不用的數(shù)據(jù)塊(內(nèi)存塊)叫做LRU移层,操作系統(tǒng)會(huì)根據(jù)哪些數(shù)據(jù)屬于LRU而將其移出內(nèi)存而騰出空間來(lái)加載另外的數(shù)據(jù)筷笨。什么是LRU算法憔鬼? LRU即最近最少使用,常用于頁(yè)面置換算法胃夏,是為虛擬頁(yè)式存儲(chǔ)管理服務(wù)的轴或。
2.?LruCache。
LruCache這個(gè)類在android.util包下仰禀,是API level 12引入的照雁,對(duì)于API level 12之前的系統(tǒng)可以使用support library中的LruCache。這個(gè)類非常適合用來(lái)緩存圖片答恶,它的主要算法原理是把最近使用的對(duì)象用強(qiáng)引用存儲(chǔ)在 LinkedHashMap 中囊榜,并且把最近最少使用的對(duì)象在緩存值達(dá)到預(yù)設(shè)定值之前從內(nèi)存中移除。
二亥宿、使用。
要實(shí)現(xiàn)LruCache緩存策略的步驟有:
(1).要先設(shè)置緩存圖片的內(nèi)存大小砂沛,基本上設(shè)置為手機(jī)內(nèi)存的1/8,
手機(jī)內(nèi)存的獲取方式:int MAXMEMONRY = (int) (Runtime.getRuntime() .maxMemory() / 1024)烫扼;
(2).LruCache里面的鍵值對(duì)分別是URL和對(duì)應(yīng)的圖片;
(3).重寫了一個(gè)叫做sizeOf的方法碍庵,返回的是圖片數(shù)量
代碼詳情地址:https://blog.csdn.net/zxw136511485/article/details/52153287