Imageloader4-ImageLoader中的变量
生活随笔
收集整理的這篇文章主要介紹了
Imageloader4-ImageLoader中的变量
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們思考下 Imageloader類中需要維護(hù)的變量
使用內(nèi)存緩存 ,肯定需要LruCache ,其中LruCache中key保存的是圖片的路徑,value則對(duì)應(yīng)相應(yīng)的圖片 。這是緩存的核心類。
多線程并發(fā),使用線程池 Executor接口,可以接受用戶自定義的線程數(shù),當(dāng)然了提供默認(rèn)的線程數(shù)。
圖片加載策略,目前涉及兩種LIFO FIFO,枚舉類型,提供默認(rèn)的加載策略。
任務(wù)隊(duì)列,使用LinkedList 中實(shí)現(xiàn),因?yàn)槲覀円獜年?duì)列中移除隊(duì)首或者隊(duì)尾的數(shù)據(jù),對(duì)于需要快速插入,刪除元素,應(yīng)該使用LinkedList。 任務(wù)隊(duì)列中的 是Runnable對(duì)象,即我們的Task任務(wù)。
后臺(tái)輪詢線程 Thread
后臺(tái)輪詢線程的handler,當(dāng)后臺(tái)輪詢線程處理完后通過(guò)此handler處理從線程池中取下一個(gè)任務(wù)處理
UIHanlder,用于更新顯示圖片。
/*** 圖片緩存的核心類 key為圖片的路徑 value為圖片*/private LruCache<String , Bitmap> mLruCache ;/*** 線程池 以及默認(rèn)的線程數(shù)*/private ExecutorService mThreadPool ;private static final int DEFAULT_THREAD_COUNT = 1;/*** 圖片加載策略*/private enum Type{FIFO , LIFO ;}/*** 默認(rèn)的加載策略*/private Type mType = Type.LIFO ;/*** 任務(wù)隊(duì)列*/private LinkedList<Runnable> mTaskQueue ;/*** 后臺(tái)輪詢線程*/private Thread mPoolThread ;/*** 后臺(tái)輪詢線程的handler ,主要用于接收后臺(tái)輪詢線程的消息后從線程池中取出任務(wù)進(jìn)行執(zhí)行*/private Handler mPoolThreadHandler ;/*** UI線程的Handler ,主要用與接收消息更新顯示圖片*/private Handler mUIHandler ; 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Imageloader4-ImageLoader中的变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Imageloader3-单例模式
- 下一篇: Imageloader5-ImageLo