圖片的異步加載和雙緩存學習筆記——ImageLoaderConfiguration


ImageLoaderConfiguration

    為ImageLoader提供下載配置

1.獲得此類的方式:

 1     /**
 2      * ImageLoaderConfiguration 創建的兩種方式。
 3      */
 4     // 創建默認的ImageLoaderConfiguration
 5     ImageLoaderConfiguration configuration_0 = ImageLoaderConfiguration
 6             .createDefault(this);
 7 
 8     // 使用DisplayImageOptions.Builder()創建DisplayImageOptions
 9     ImageLoaderConfiguration configuration_1 = new ImageLoaderConfiguration.Builder(
10             this).threadPriority(Thread.NORM_PRIORITY - 2)
11             .denyCacheImageMultipleSizesInMemory()
12             .discCacheFileNameGenerator(new Md5FileNameGenerator())
13             .tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging()
14             .build();

2.常量

1 /**
2  * 常量的設置
3  */
4 //屬性的設置
5 EFAULT_TASK_PROCESSING_TYPE 
6 //線程池的大小
7 DEFAULT_THREAD_POOL_SIZE 
8 //線程的優先級
9 DEFAULT_THREAD_PRIORITY 

3.常用方法

1 /**
2  *當同一個Uri獲取不同大小的圖片,緩存到內存時,只緩存一個。默認會緩存多個不同的大小的相同圖片
3  */
4 denyCacheImageMultipleSizesInMemory() 
 1     /**
 2      * 設置本地圖片緩存
 3      * @param discCache
 4      */
 5     discCache(DiscCacheAware discCache) 
 6               discCache:
 7                         FileCountLimitedDiscCache(File cacheDir, int maxFileCount):設置緩存路徑和緩存文件的數量,超過數量后,old將被刪除
 8                         FileCountLimitedDiscCache(File cacheDir,FileNameGenerator fileNameGenerator,int maxFileCount):第二個參數是通過圖片的url生成的唯一文件名。
 9                         LimitedAgeDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, long maxAge) :第二個參數同上
10                         LimitedAgeDiscCache(File cacheDir, long maxAge):maxAge為定義的時間,超過時間后,圖片將被刪除
11                         TotalSizeLimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, int maxCacheSize) :第二個參數同上   
12                         TotalSizeLimitedDiscCache(File cacheDir, int maxCacheSize) :定義緩存的大小,如超過了,就會刪除old圖片。
13                         UnlimitedDiscCache(File cacheDir) :緩存沒有限制
14                         UnlimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator):第二個參數同上
 1     /**
 2      * 設置圖片保存到本地的參數
 3      * @param maxImageWidthForDiscCache 保存的最大寬度
 4      * @param maxImageHeightForDiscCache 保存的最大高度
 5      * @param compressFormat    保存的壓縮格式
 6      * @param compressQuality 提示壓縮的程度,有0-100.想png這種圖片無損耗,就不必設置了
 7      */
 8     discCacheExtraOptions(int maxImageWidthForDiscCache,
 9             int maxImageHeightForDiscCache,
10             android.graphics.Bitmap.CompressFormat compressFormat,
11             int compressQuality)
1     /**
2      * 設置緩存文件的數量
3      * @param maxFileCount 數量
4      */
5     discCacheFileCount(int maxFileCount)
1     /**
2      * 設置緩存的大小
3      * @param maxCacheSize 大小
4      */
5       discCacheSize(int maxCacheSize) 
1     /**
2      * 設置緩存文件的名字
3      * @param fileNameGenerator
4      */
5     discCacheFileNameGenerator(FileNameGenerator fileNameGenerator)
6     fileNameGenerator:
7     HashCodeFileNameGenerator() :通過HashCode將url生成文件的唯一名字
8     Md5FileNameGenerator():通過Md5將url生產文件的唯一名字
1 /**
2  * 啟動Log信息記錄,用於查看異常信息
3  */
4   enableLogging() 
1     /**
2      * 設置緩存信息
3      * @param maxImageWidthForMemoryCache 緩存圖片的最大寬度,默認為手機的屏幕寬度
4      * @param maxImageHeightForMemoryCache 緩存圖片的最大高度,默認為手機的屏幕寬度
5      */
6     memoryCacheExtraOptions(int maxImageWidthForMemoryCache, int maxImageHeightForMemoryCache) 
1     /**
2      * 添加個線程池,進行下載
3      * @param executor 線程池
4      * 如果進行了這個設置,那么threadPoolSize(int),threadPriority(int),tasksProcessingOrder(QueueProcessingType)
5      * 將不會起作用
6      */
7      taskExecutor(Executor executor)
1     /**
2      * 設置用於顯示圖片的線程池大小
3      * @param threadPoolSize
4      */
5     threadPoolSize(int threadPoolSize)
1     /**
2      * 設置線程的優先級
3      * @param threadPriority
4      */
5     threadPriority(int threadPriority)
1     /**
2      * 設置圖片下載和顯示的工作隊列排序
3      * @param tasksProcessingType
4      */
5     tasksProcessingOrder(QueueProcessingType tasksProcessingType)
1     /**
2      * 下載緩存圖片
3      * @param executorForCachedImages
4      */
5     taskExecutorForCachedImages(Executor executorForCachedImages)

 源碼地址下載  https://github.com/nostra13/Android-Universal-Image-Loader

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM