您的位置:首页 > 其它

图片的异步加载和双缓存学习笔记——ImageLoaderConfiguration

2013-05-06 00:53 477 查看



ImageLoaderConfiguration

    为ImageLoader提供下载配置

1.获得此类的方式:

/**
* ImageLoaderConfiguration 创建的两种方式。
*/
// 创建默认的ImageLoaderConfiguration
ImageLoaderConfiguration configuration_0 = ImageLoaderConfiguration
.createDefault(this);

// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
ImageLoaderConfiguration configuration_1 = new ImageLoaderConfiguration.Builder(
this).threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging()
.build();


2.常量

/**
* 常量的设置
*/
//属性的设置
EFAULT_TASK_PROCESSING_TYPE
//线程池的大小
DEFAULT_THREAD_POOL_SIZE
//线程的优先级
DEFAULT_THREAD_PRIORITY


3.常用方法

/**
*当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
*/
denyCacheImageMultipleSizesInMemory()


/**
* 设置本地图片缓存
* @param discCache
*/
discCache(DiscCacheAware discCache)
discCache:
FileCountLimitedDiscCache(File cacheDir, int maxFileCount):设置缓存路径和缓存文件的数量,超过数量后,old将被删除
FileCountLimitedDiscCache(File cacheDir,FileNameGenerator fileNameGenerator,int maxFileCount):第二个参数是通过图片的url生成的唯一文件名。
LimitedAgeDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, long maxAge) :第二个参数同上
LimitedAgeDiscCache(File cacheDir, long maxAge):maxAge为定义的时间,超过时间后,图片将被删除
TotalSizeLimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator, int maxCacheSize) :第二个参数同上
TotalSizeLimitedDiscCache(File cacheDir, int maxCacheSize) :定义缓存的大小,如超过了,就会删除old图片。
UnlimitedDiscCache(File cacheDir) :缓存没有限制
UnlimitedDiscCache(File cacheDir, FileNameGenerator fileNameGenerator):第二个参数同上


/**
* 设置图片保存到本地的参数
* @param maxImageWidthForDiscCache 保存的最大宽度
* @param maxImageHeightForDiscCache 保存的最大高度
* @param compressFormat    保存的压缩格式
* @param compressQuality 提示压缩的程度,有0-100.想png这种图片无损耗,就不必设置了
*/
discCacheExtraOptions(int maxImageWidthForDiscCache,
int maxImageHeightForDiscCache,
android.graphics.Bitmap.CompressFormat compressFormat,
int compressQuality)


/**
* 设置缓存文件的数量
* @param maxFileCount 数量
*/
discCacheFileCount(int maxFileCount)


/**
* 设置缓存的大小
* @param maxCacheSize 大小
*/
discCacheSize(int maxCacheSize)


/**
* 设置缓存文件的名字
* @param fileNameGenerator
*/
discCacheFileNameGenerator(FileNameGenerator fileNameGenerator)
fileNameGenerator:
HashCodeFileNameGenerator() :通过HashCode将url生成文件的唯一名字
Md5FileNameGenerator():通过Md5将url生产文件的唯一名字


/**
* 启动Log信息记录,用于查看异常信息
*/
enableLogging()


/**
* 设置缓存信息
* @param maxImageWidthForMemoryCache 缓存图片的最大宽度,默认为手机的屏幕宽度
* @param maxImageHeightForMemoryCache 缓存图片的最大高度,默认为手机的屏幕宽度
*/
memoryCacheExtraOptions(int maxImageWidthForMemoryCache, int maxImageHeightForMemoryCache)


/**
* 添加个线程池,进行下载
* @param executor 线程池
* 如果进行了这个设置,那么threadPoolSize(int),threadPriority(int),tasksProcessingOrder(QueueProcessingType)
* 将不会起作用
*/
taskExecutor(Executor executor)


/**
* 设置用于显示图片的线程池大小
* @param threadPoolSize
*/
threadPoolSize(int threadPoolSize)


/**
* 设置线程的优先级
* @param threadPriority
*/
threadPriority(int threadPriority)


/**
* 设置图片下载和显示的工作队列排序
* @param tasksProcessingType
*/
tasksProcessingOrder(QueueProcessingType tasksProcessingType)


/**
* 下载缓存图片
* @param executorForCachedImages
*/
taskExecutorForCachedImages(Executor executorForCachedImages)


源码地址下载 https://github.com/nostra13/Android-Universal-Image-Loader
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐