天天看點

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

一個好的類庫的重要特征就是可配置性強。我們先簡單使用android-universal-image-loader,一般情況下使用預設配置就可以了。

下面的執行個體利用android-universal-image-loader将網絡圖檔加載到圖檔牆中。

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

裡面主要的對象都用        突出顯示了。

imageloaderconfiguration是針對圖檔緩存的全局配置,主要有線程類、緩存大小、磁盤大小、圖檔下載下傳與解析、日志方面的配置。

imageloader是具體下載下傳圖檔,緩存圖檔,顯示圖檔的具體執行類,它有兩個具體的方法displayimage(...)、loadimage(...),但是其實最終他們的實作都是displayimage(...)。

displayimageoptions用于指導每一個imageloader根據網絡圖檔的狀态(空白、下載下傳錯誤、正在下載下傳)顯示對應的圖檔,是否将緩存加載到磁盤上,下載下傳完後對圖檔進行怎麼樣的處理。

從三者的協作關系上看,他們有點像廚房規定、廚師、客戶個人口味之間的關系。imageloaderconfiguration就像是廚房裡面的規定,每一個廚師要怎麼着裝,要怎麼保持廚房的幹淨,這是針對每一個廚師都适用的規定,而且不允許個性化改變。imageloader就像是具體做菜的廚師,負責具體菜單的制作。displayimageoptions就像每個客戶的偏好,根據客戶是重口味還是清淡,每一個imageloader根據displayimageoptions的要求具體執行。

在上面的示例代碼中,我們使用imageloaderconfiguration的預設配置,下面給出imageloaderconfiguration比較詳盡的配置,從下面的配置中,可以看出imageloaderconfiguration的配置主要是全局性的配置,主要有線程類、緩存大小、磁盤大小、圖檔下載下傳與解析、日志方面的配置。

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

imageloaderconfiguration的主要職責就是記錄相關的配置,它的内部其實就是一些字段的集合(如下面的源代碼)。它有一個builder的内部類,這個類中的字段跟imageloaderconfiguration中的字段完全一緻,它有一些預設值,通過修改builder可以配置imageloaderconfiguration。

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

每一個<code>imageloader.displayimage(...)</code>都可以使用display options。

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

 display options的主要職責就是記錄相關的配置,它的内部其實就是一些字段的集合(如下面的源代碼)。它有一個builder的内部類,這個類中的字段跟displayoption中的字段完全一緻,它有一些預設值,通過修改builder可以配置displayoptions。

Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解
Android-Universal-Image-Loader三大元件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration詳解

參考連結

http://blog.csdn.net/wangjinyu501/article/details/8091623

https://github.com/nostra13/android-universal-image-loader

http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

轉載:http://www.cnblogs.com/kissazi2/p/3886563.html

繼續閱讀