zoukankan      html  css  js  c++  java
  • 图片的异步加载和双缓存学习笔记——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

  • 相关阅读:
    kindeditor的使用
    阅读笔记(三)
    阅读笔记(二)
    架构漫谈
    阅读笔记(一)
    hdfs
    暑假周总结八
    暑假周总结七
    暑假周总结六
    暑假周总结五
  • 原文地址:https://www.cnblogs.com/qinghuaideren/p/3061986.html
Copyright © 2011-2022 走看看