ImageLaord的設計者模式

2021-08-21 10:37:24 字數 2257 閱讀 8613

imageloaderconfiguration configuration = imageloaderconfiguration.createdefault(this);

//建造設計者模式

imageloaderconfiguration config = new imageloaderconfiguration.builder(this)

.memorycacheextraoptions(480, 800) // default = device screen dimensions 記憶體快取檔案的最大長寬

.diskcacheextraoptions(480, 800, null)  // 本地快取的詳細資訊(快取的最大長寬),最好不要設定這個

.threadpoolsize(3) // default  執行緒池內載入的數量

.threadpriority(thread.norm_priority - 2) // default 設定當前執行緒的優先順序

.tasksprocessingorder(queueprocessingtype.fifo) // default

.denycacheimagemultiplesizesinmemory()

.memorycache(new lrumemorycache(2 * 1024 * 1024)) //可以通過自己的記憶體快取實現

.memorycachesize(2 * 1024 * 1024)  // 記憶體快取的最大值

.memorycachesizepercentage(13) // default

.diskcachesize(50 * 1024 * 1024) // 50 mb sd卡(本地)快取的最大值

.diskcachefilecount(100)  // 可以快取的檔案數量

// default為使用hashcode對uil進行加密命名, 還可以用md5(new md5filenamegenerator())加密

.diskcachefilenamegenerator(new md5filenamegenerator())

.writedebuglogs() // 列印debug log

.build(); //開始構建

//初始化得到懶漢式設計模式

imageloader.getinstance().init(config);

//設定的

displayimageoptions options = new displayimageoptions

.builder

() .showimageonloading

(r.drawable

.default

_img) // 載入過程中的顯示

.showimageforemptyuri

(r.drawable

.default

_img) // 路徑為空時顯示的

.showimageonfail

(r.drawable

.default

_img) // 載入失敗顯示的

.resetviewbeforeloading

(false) // 將要開始載入時是否需要替換成onloading

.delaybeforeloading

(1000

) // 載入延遲時間

.preprocessor

(***) // 加入快取之前的處理

.postprocessor

(***) // 在顯示之前的處理

.decodingoptions

(bitmapfactory

.options

) // 解碼引數

.cacheinmemory

(true) // 需要快取在記憶體中

.cacheondisk

(true) // 需要快取到磁碟中

.considerexifparams

(true) // 是否考慮exif引數

.imagescaletype

(imagescaletype

.in_sample_power_of_2) // 縮放型別

.bitmapconfig

(bitmap

.config

.rgb

_565) // bitmap模式

.displayer

(new roundedbitmapdisplayer(

20)) // 設定顯示形式(圓角

or漸變等)

.build();

設計者模式

1.單例模式 每個new出來的例項都需要有乙個相同的方法,但是這時候如果 每個例項都新建乙個這種方法,太佔據記憶體也太慢,所以在這裡有乙個重要的判斷 如果有例項,則返回例項 如果沒有例項,則建立例項,並且返回例項。例 class createuser return createuser.ins co...

設計者模式 構建者模式

一 介紹 場景 建造乙個複雜的產品。比如 神舟飛船,iphone,這個複雜的產品建立,有這樣乙個問題需要處理 裝配這些子元件,是不是有個步驟問題?實際開發中,需要的物件,在構建時,也非常複雜,有很多步驟需要處理。建造者模式的本質 分離物件子元件的單獨構造 由builder來負責 和裝配 由direc...

類設計者的核查表

1,你的類需要乙個建構函式嗎?2,你的資料成員是私有的嗎?3,你的類需要乙個無參建構函式嗎?4,是不是每個建構函式初始化所有的資料成員嗎?5,類需要析構函式嗎?6,類需要乙個虛析構函式嗎?7,你的類需要複製建構函式嗎?8,你的類需要乙個賦值操作符嗎?9,你的類需要定義關係操作符嗎?10,你的類需要定...