图片的异步加载和双缓存学习笔记——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

原文地址:https://www.cnblogs.com/qinghuaideren/p/3061986.html