图片异步加载框架 Android-Universal-Image-Loader的一些参数说明及方法
2014-07-09 16:44
776 查看
//设置图片在下载期间显示的图片
showStubImage(R.drawable.ic_launcher)
//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)
//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)
//设置图片在下载前是否重置,复位
resetViewBeforeLoading()
//设置下载的图片是否缓存在内存中
cacheInMemory()
//设置下载的图片是否缓存在SD卡中
cacheOnDisc()
//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)
//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)
//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)
//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)
//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)
//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)
//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)
/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
SimpleBitmapDisplayer()正常显示一张图片
/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整
/**
*DisplayImageOptions简单示例
*/
// 创建默认的DisplayImageOptions
DisplayImageOptions option_0=DisplayImageOptions.createSimple();
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
DisplayImageOptions options = new DisplayImageOptions.Builder()
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.showStubImage(R.drawable.loading)
.showImageForEmptyUri(R.drawable.load_fail)
.showImageOnFail(R.drawable.load_fail)
.cacheInMemory(true)
.cacheOnDisc(true)
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
ImageLoaderConfiguration configuration_1 = new ImageLoaderConfiguration.Builder(
this).threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging()
.build();[/mw_shl_code]3.常用方法:[mw_shl_code=java,true]/**
*当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
*/
denyCacheImageMultipleSizesInMemory()[/mw_shl_code][mw_shl_code=java,true]/**
* 设置本地图片缓存
* @param discCache
*/
discCache(DiscCacheAware discCache)
DiscCacheAware 类型(在com.nostra13.universalimageloader.cache.disc.impl包下能找到如下的类):
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):第二个参数同上[/mw_shl_code][mw_shl_code=java,true]/**
* 设置图片保存到本地的参数
* @param maxImageWidthForDiscCache 保存的最大宽度
* @param maxImageHeightForDiscCache 保存的最大高度
* @param compressFormat 保存的压缩格式
* @param compressQuality 提示压缩的程度,有0-100.想png这种图片无损耗,就不必设置了
*/
discCacheExtraOptions(int maxImageWidthForDiscCache,
int maxImageHeightForDiscCache,
android.graphics.Bitmap.CompressFormat compressFormat,
int compressQuality)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存文件的数量
* @param maxFileCount 数量
*/
discCacheFileCount(int maxFileCount)
/**
* 设置缓存的大小
* @param maxCacheSize 大小
*/
discCacheSize(int maxCacheSize)[mw_shl_code=java,true]/**
* 启动Log信息记录,用于查看异常信息
*/
enableLogging()[/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存信息
* @param maxImageWidthForMemoryCache 缓存图片的最大宽度,默认为手机的屏幕宽度
* @param maxImageHeightForMemoryCache 缓存图片的最大高度,默认为手机的屏幕宽度
*/
memoryCacheExtraOptions(int maxImageWidthForMemoryCache, int maxImageHeightForMemoryCache)[/mw_shl_code][mw_shl_code=java,true]/**
* 添加个线程池,进行下载
* @param executor 线程池
* 如果进行了这个设置,那么threadPoolSize(int),threadPriority(int),tasksProcessingOrder(QueueProcessingType)
* 将不会起作用
*/
taskExecutor(Executor executor)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置用于显示图片的线程池大小
* @param threadPoolSize
*/
threadPoolSize(int threadPoolSize)
/**
* 设置线程的优先级
* @param threadPriority
*/
threadPriority(int threadPriority)
/**
* 设置图片下载和显示的工作队列排序
* @param tasksProcessingType
*/
tasksProcessingOrder(QueueProcessingType tasksProcessingType)
/**
* 下载缓存图片
* @param executorForCachedImages
*/
taskExecutorForCachedImages(Executor executorForCachedImages)[/mw_shl_code][/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存文件的名字
* @param fileNameGenerator
*/
discCacheFileNameGenerator(FileNameGenerator fileNameGenerator)
fileNameGenerator:
HashCodeFileNameGenerator() :通过HashCode将url生成文件的唯一名字
Md5FileNameGenerator():通过Md5将url生产文件的唯一名字[/mw_shl_code]
DisplayImageOptions1.作用:用于设置图片显示的类。2.构造方法:[mw_shl_code=java,true]/**
* DisplayImageOptions 创建的两种方式。
*/
// 创建默认的DisplayImageOptions
DisplayImageOptions option_0 = DisplayImageOptions.createSimple();
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
DisplayImageOptions option_1 = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_error)
.showImageForEmptyUri(R.drawable.ic_empty).cacheInMemory()
.cacheOnDisc().displayer(new RoundedBitmapDisplayer(20))
.build();[/mw_shl_code]
3.常用方法:[mw_shl_code=java,true]//设置图片在下载期间显示的图片
showStubImage(R.drawable.ic_launcher)
//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)
//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)
//设置图片在下载前是否重置,复位
resetViewBeforeLoading()
//设置下载的图片是否缓存在内存中
cacheInMemory()
//设置下载的图片是否缓存在SD卡中
cacheOnDisc()
//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)
//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)
//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)
//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)
//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)
//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)
//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
SimpleBitmapDisplayer()正常显示一张图片[/mw_shl_code][mw_shl_code=java,true]/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整[/mw_shl_code]
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)//设置线程的优先级
.denyCacheImageMultipleSizesInMemory()//当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
.discCacheFileNameGenerator(new Md5FileNameGenerator())//设置缓存文件的名字
.discCacheFileCount(60)//缓存文件的最大个数
.tasksProcessingOrder(QueueProcessingType.LIFO)// 设置图片下载和显示的工作队列排序
.enableLogging() //是否打印日志用于检查错误
.build();
//Initialize ImageLoader with configuration
ImageLoader.getInstance().init(config);
showStubImage(R.drawable.ic_launcher)
//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)
//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)
//设置图片在下载前是否重置,复位
resetViewBeforeLoading()
//设置下载的图片是否缓存在内存中
cacheInMemory()
//设置下载的图片是否缓存在SD卡中
cacheOnDisc()
//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)
//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)
//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)
//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)
//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)
//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)
//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)
/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
SimpleBitmapDisplayer()正常显示一张图片
/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整
/**
*DisplayImageOptions简单示例
*/
// 创建默认的DisplayImageOptions
DisplayImageOptions option_0=DisplayImageOptions.createSimple();
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
DisplayImageOptions options = new DisplayImageOptions.Builder()
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.showStubImage(R.drawable.loading)
.showImageForEmptyUri(R.drawable.load_fail)
.showImageOnFail(R.drawable.load_fail)
.cacheInMemory(true)
.cacheOnDisc(true)
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
ImageLoaderConfiguration configuration_1 = new ImageLoaderConfiguration.Builder(
this).threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).enableLogging()
.build();[/mw_shl_code]3.常用方法:[mw_shl_code=java,true]/**
*当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
*/
denyCacheImageMultipleSizesInMemory()[/mw_shl_code][mw_shl_code=java,true]/**
* 设置本地图片缓存
* @param discCache
*/
discCache(DiscCacheAware discCache)
DiscCacheAware 类型(在com.nostra13.universalimageloader.cache.disc.impl包下能找到如下的类):
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):第二个参数同上[/mw_shl_code][mw_shl_code=java,true]/**
* 设置图片保存到本地的参数
* @param maxImageWidthForDiscCache 保存的最大宽度
* @param maxImageHeightForDiscCache 保存的最大高度
* @param compressFormat 保存的压缩格式
* @param compressQuality 提示压缩的程度,有0-100.想png这种图片无损耗,就不必设置了
*/
discCacheExtraOptions(int maxImageWidthForDiscCache,
int maxImageHeightForDiscCache,
android.graphics.Bitmap.CompressFormat compressFormat,
int compressQuality)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存文件的数量
* @param maxFileCount 数量
*/
discCacheFileCount(int maxFileCount)
/**
* 设置缓存的大小
* @param maxCacheSize 大小
*/
discCacheSize(int maxCacheSize)[mw_shl_code=java,true]/**
* 启动Log信息记录,用于查看异常信息
*/
enableLogging()[/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存信息
* @param maxImageWidthForMemoryCache 缓存图片的最大宽度,默认为手机的屏幕宽度
* @param maxImageHeightForMemoryCache 缓存图片的最大高度,默认为手机的屏幕宽度
*/
memoryCacheExtraOptions(int maxImageWidthForMemoryCache, int maxImageHeightForMemoryCache)[/mw_shl_code][mw_shl_code=java,true]/**
* 添加个线程池,进行下载
* @param executor 线程池
* 如果进行了这个设置,那么threadPoolSize(int),threadPriority(int),tasksProcessingOrder(QueueProcessingType)
* 将不会起作用
*/
taskExecutor(Executor executor)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置用于显示图片的线程池大小
* @param threadPoolSize
*/
threadPoolSize(int threadPoolSize)
/**
* 设置线程的优先级
* @param threadPriority
*/
threadPriority(int threadPriority)
/**
* 设置图片下载和显示的工作队列排序
* @param tasksProcessingType
*/
tasksProcessingOrder(QueueProcessingType tasksProcessingType)
/**
* 下载缓存图片
* @param executorForCachedImages
*/
taskExecutorForCachedImages(Executor executorForCachedImages)[/mw_shl_code][/mw_shl_code][mw_shl_code=java,true]/**
* 设置缓存文件的名字
* @param fileNameGenerator
*/
discCacheFileNameGenerator(FileNameGenerator fileNameGenerator)
fileNameGenerator:
HashCodeFileNameGenerator() :通过HashCode将url生成文件的唯一名字
Md5FileNameGenerator():通过Md5将url生产文件的唯一名字[/mw_shl_code]
DisplayImageOptions1.作用:用于设置图片显示的类。2.构造方法:[mw_shl_code=java,true]/**
* DisplayImageOptions 创建的两种方式。
*/
// 创建默认的DisplayImageOptions
DisplayImageOptions option_0 = DisplayImageOptions.createSimple();
// 使用DisplayImageOptions.Builder()创建DisplayImageOptions
DisplayImageOptions option_1 = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_launcher)
.showImageOnFail(R.drawable.ic_error)
.showImageForEmptyUri(R.drawable.ic_empty).cacheInMemory()
.cacheOnDisc().displayer(new RoundedBitmapDisplayer(20))
.build();[/mw_shl_code]
3.常用方法:[mw_shl_code=java,true]//设置图片在下载期间显示的图片
showStubImage(R.drawable.ic_launcher)
//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)
//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)
//设置图片在下载前是否重置,复位
resetViewBeforeLoading()
//设置下载的图片是否缓存在内存中
cacheInMemory()
//设置下载的图片是否缓存在SD卡中
cacheOnDisc()
//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)
//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)
//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)
//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)
//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)
//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)
//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)[/mw_shl_code][mw_shl_code=java,true]/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
SimpleBitmapDisplayer()正常显示一张图片[/mw_shl_code][mw_shl_code=java,true]/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整[/mw_shl_code]
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)//设置线程的优先级
.denyCacheImageMultipleSizesInMemory()//当同一个Uri获取不同大小的图片,缓存到内存时,只缓存一个。默认会缓存多个不同的大小的相同图片
.discCacheFileNameGenerator(new Md5FileNameGenerator())//设置缓存文件的名字
.discCacheFileCount(60)//缓存文件的最大个数
.tasksProcessingOrder(QueueProcessingType.LIFO)// 设置图片下载和显示的工作队列排序
.enableLogging() //是否打印日志用于检查错误
.build();
//Initialize ImageLoader with configuration
ImageLoader.getInstance().init(config);
相关文章推荐
- Android 使用图片异步加载框架Universal Image Loader的问题
- Android图片异步加载框架Universal Image Loader的源码分析
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Android图片异步加载框架Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- 【Android】Universal Image Loader图片加载框架无法加载https图片问题解决方法
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Android-Universal-Image-Loader图片异步加载类库使用方法
- Android图片异步加载框架Android-Universal-Image-Loader
- 异步加载图片框架Android-Universal-Image-Loader的使用
- Android图片异步加载框架Android-Universal-Image-Loader
- Android-Universal-Image-Loader 图片异步加载框架
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- Android-Universal-Image-Loader 图片异步加载类库使用方法
- Android图片异步加载框架Android-Universal-Image-Loader
- 【Android】图片异步加载三方框架Universal Image Loader详细配置