您的位置:首页 > 移动开发 > Android开发

ImageLoader配置

2016-05-24 10:36 483 查看
GITHUB上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,下载最新的库文件,并且导入到项目的LIB下便可以使用。
1.Imageloader全局配置
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(context)
.memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽 
// Can slow ImageLoader, use it carefully (Better don't use it)/设置缓存的详细信息,最好不要设置这个
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null) 
.threadPoolSize(3)//线程池内加载的数量
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现
.memoryCacheSize(2 * 1024 * 1024)
.discCacheSize(50 * 1024 * 1024)
.discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
.tasksProcessingOrder(QueueProcessingType.LIFO)
.discCacheFileCount(100) //缓存的文件数量
.discCache(new UnlimitedDiscCache(cacheDir))//自定义缓存路径
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
.writeDebugLogs() // Remove for release app
.build();//开始构建
// Initialize ImageLoader with configuration.

一般需要在Application中初始化Imageloader:
ImageLoader.getInstance().init(config);//全局初始化此配置  
2.Imageloader配置需要显示的图片
之后进行显示的图片的各种格式DisplayImageOptions 的设置:DisplayImageOptions options;options = new DisplayImageOptions.Builder().showImageOnLoading(R.drawable.ic_launcher) //设置图片在下载期间显示的图片.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片.showImageOnFail(R.drawable.ic_launcher)  //设置图片加载/解码过程中错误时候显示的图片.cacheInMemory(true)//设置下载的图片是否缓存在内存中.cacheOnDisc(true)//设置下载的图片是否缓存在SD卡中.considerExifParams(true)  //是否考虑JPEG图像EXIF参数(旋转,翻转).imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型//.decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)//设置图片的解码配置//.delayBeforeLoading(int delayInMillis)//int delayInMillis为你设置的下载前的延迟时间//设置图片加入缓存前,对bitmap进行设置//.preProcessor(BitmapProcessor preProcessor).resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位.displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少.displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间.build();//构建完成
说明: 1).imageScaleType(ImageScaleType imageScaleType) 是设置图片的缩放方式缩放类型mageScaleType:              EXACTLY :图像将完全按比例缩小的目标大小              EXACTLY_STRETCHED:图片会缩放到目标大小完全              IN_SAMPLE_INT:图像将被二次采样的整数倍              IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小              NONE:图片不会调整  2).displayer(BitmapDisplayer displayer) 是设置图片的显示方式显示方式displayer,所以我们可以自定义我们需要显示的图片样式,当然SDK中已经定义好了几种:              RoundedBitmapDisplayer(int roundPixels)设置圆角图片              FakeBitmapDisplayer()              FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间         SimpleBitmapDisplayer()正常显示一张图片3.监听图片下载进度,可以实现这个监听接口来显示下载进度imageLoader.displayImage(imageUrl, imageView, options, new ImageLoadingListener() {@Overridepublic void onLoadingStarted() {//开始加载的时候执行}@Overridepublic void onLoadingFailed(FailReason failReason) {//加载失败的时候执行}@Overridepublic void onLoadingComplete(Bitmap loadedImage) {//加载成功的时候执行}@Overridepublic void onLoadingCancelled() {//加载取消的时候执行}});4.显示所有来源图片的加载方式:
String imageUri = "http://site.com/image.png"; // from Web 
String imageUri = "file:///mnt/sdcard/image.png"; // from SD card  
String imageUri = "content://media/external/audio/albumart/13"; // from content provider 
String imageUri = "assets://image.png"; // from assets  
String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch) 

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息