最近接触一个需要频繁下载图片和删除图片的项目,接触到universal-Image-Loader开源代码,一开始对ImageLoaderConfiguration的配置很难理解,对下面写的代码不知所云,下面对它一一进行解释。
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
// max width, max height,即保存的每个缓存文件的最大长宽
.memoryCacheExtraOptions(480, 800)
// 线程池内加载的数量
.threadPoolSize(3)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileCount(100)
// You can pass your own memory cache
// implementation/你可以通过自己的内存缓存实现
.memoryCache(new LRULimitedMemoryCache(MEMORY_CACHE_SIZE)).memoryCacheSize(MEMORY_CACHE_SIZE)
.tasksProcessingOrder(QueueProcessingType.LIFO)
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
// connectTimeout (5 s), readTimeout (30 s)超时时间
.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000))
// Remove for release app
.writeDebugLogs()
// 开始构建
.build();
memoryCacheExtraOptions(480, 800)//表示缓存大小设置
.threadPoolSize(3)//表示线程池的数量
.threadPriority(Thread.NORM_PRIORITY - 2)//线程池优先级
.denyCacheImageMultipleSizesInMemory()//内存中缓存大小
.diskCacheFileCount(100)//磁盘缓存文件数量
defaultDisplayImageOptions(DisplayImageOptions.createSimple()) //默认的图片显示配置项。
.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000))//图片下载器配置