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