Imageloader2-整体思路
生活随笔
收集整理的這篇文章主要介紹了
Imageloader2-整体思路
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
避免加載圖片出現卡頓,主要是在getView的過程中,采用 異步加載+回調顯示。
偽代碼如下
class Imageloader{
getView(){
目標:根據URL查找Bitmap
1.首先從緩存LruCache中查找對應的Bitmap
—> 找到直接返回
—> 找不到 url–Task–TaskQueue且發送一個通知去提醒后臺輪詢線程 (如果根據URL找不到對應的Bitmap , 則啟動一個Task,放到TaskQueue中然后通知后臺輪詢線程)
}
關于Task肯定是一個線程,所有的業務邏輯均在run方法中實現
Task—run(){
總體目標:根據URL去加載圖片。 不可能加載實際的圖片,需要對其進行壓縮。
具體步驟:
1. 獲取圖片的大小
2. 使用Options對圖片進行壓縮
3. 加載圖片切放入到LruCache中
}
關于后臺輪詢線程,我們這里采用adnroid異步消息處理框架,采用Looper+Message+Handler的模式。
后臺輪詢線程的主要作用是: 從TaskQueue中獲取一個Task交給線程池,去執行Task-run()中的業務邏輯。
總結
以上是生活随笔為你收集整理的Imageloader2-整体思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式 - 创建型模式_ 单例模式 S
- 下一篇: Imageloader3-单例模式