ImageLoader双缓存机制加载图片

来源:互联网 发布:js 时间戳格式化函数 编辑:程序博客网 时间:2024/05/22 06:42

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)
0 0
原创粉丝点击