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