Imageloader属性大全

来源:互联网 发布:能微信提现的赚钱软件 编辑:程序博客网 时间:2024/06/05 10:50

原理

http://www.cnblogs.com/kissazi2/p/3931400.html

讲解

http://blog.csdn.net/vipzjyno1/article/details/23206387

#ImageLoader使用详解

前言:关于ImageLoader的配置,网上有好多配置方案,本文是基于github上ImageLoader的官方引导作为讲解。

github地址https://github.com/nostra13/Android-Universal-Image-Loader

 

## 配置ImageLoader

  *  一般我们在使用ImageLoader的时候,需要在应用程序的入口进行它的一个配置,这个配置一般写到Application里边

   *

全局配置

public void initImageLoader() {

                  //获取默认的路径

                  FilecacheDir = StorageUtils.getCacheDirectory(getApplicationContext());

                  ImageLoaderConfigurationconfig = new ImageLoaderConfiguration.Builder(

                                   getApplicationContext())

                                   //设置内存图片的宽高

                                   .memoryCacheExtraOptions(480,800)

                                   //default = device screen dimensions

                                   //缓存到磁盘中的图片宽高

                                   .diskCacheExtraOptions(480,800, null)

                                   //.taskExecutor(null)

                                   //.taskExecutorForCachedImages()

                                   .threadPoolSize(3)

                                   //default 线程优先级

                                   .threadPriority(Thread.NORM_PRIORITY- 2)

                                   //default

                                   .tasksProcessingOrder(QueueProcessingType.FIFO)

                                   //// default设置在内存中缓存图像的多种尺寸

                                   //加载同一URL图片时,imageView从小变大时,从内存缓存中加载

                                   .denyCacheImageMultipleSizesInMemory()

                                   //超过设定的缓存大小时,内存缓存的清除机制

                                   .memoryCache(newLruMemoryCache(2 * 1024 * 1024))

                                   //内存的一个大小

                                   .memoryCacheSize(2* 1024 * 1024)

                                   .memoryCacheSizePercentage(13)

                                   //default 将图片信息缓存到该路径下

                                   .diskCache(newUnlimitedDiskCache(cacheDir))

                                   //default 磁盘缓存的大小

                                   .diskCacheSize(50* 1024 * 1024)

                                   //磁盘缓存文件的个数

                                   .diskCacheFileCount(100)

                                   //磁盘缓存的文件名的命名方式//一般使用默认值 (获取文件名称的hashcode然后转换成字符串)或MD5 newMd5FileNameGenerator()源文件的名称同过md5加密后保存

                                   .diskCacheFileNameGenerator(newHashCodeFileNameGenerator())

                                   //设置默认的图片加载

                                   .imageDownloader(

                                                     newBaseImageDownloader(getApplicationContext())) // default

                                   //使用默认的图片解析器

                                   .imageDecoder(newBaseImageDecoder(true)) // default

                                   .defaultDisplayImageOptions(DisplayImageOptions.createSimple())// default

                                   .writeDebugLogs().build();

 

         }

```

 

##  在使用图片加载的类中去配置这些资源,比如在Activity中进行配置

 

局部配置

 

         publicvoid initOptions() {

                  DisplayImageOptionsoptions = new DisplayImageOptions.Builder()

                  //设置图片在下载期间显示的图片

                                   .showImageOnLoading(R.drawable.ic_launcher)

                                   //设置图片Uri为空或是错误的时候显示的图片

                                   .showImageForEmptyUri(R.drawable.ic_launcher)

                                   //设置图片加载/解码过程中错误时候显示的图片

                                   .showImageOnFail(R.drawable.ic_launcher)

                                   //设置下载的图片是否缓存在内存中

                                   .cacheInMemory(true)

                                   //设置下载的图片是否缓存在SD卡中

                                   .cacheOnDisc(true)

                                   //是否考虑JPEG图像EXIF参数(旋转,翻转)

                                   .considerExifParams(true)

                                   //设置图片以如何的编码方式显示

                                   .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)

                                   //设置图片的解码类型//

                                   .bitmapConfig(Bitmap.Config.RGB_565)

                                   //设置图片的解码配置

                                   //.decodingOptions(options)

                                   //.delayBeforeLoading(int delayInMillis)//int

                                   //delayInMillis为你设置的下载前的延迟时间

                                   //设置图片加入缓存前,对bitmap进行设置

                                   //.preProcessor(BitmapProcessor preProcessor)

                                   //设置图片在下载前是否重置,复位

                                   .resetViewBeforeLoading(true)

                                   //是否设置为圆角,弧度为多少

                                   .displayer(newRoundedBitmapDisplayer(20))

                                   //是否图片加载好后渐入的动画时间

                                   .displayer(newFadeInBitmapDisplayer(100))

                                   //构建完成

                                   .build();

         }

 

 

 ImageLoader的使用

       ImageLoader.getInstance().displayImage(imageUrl, imageView,options);

        // imageUrl代表图片的URL地址,imageView代表承载图片的IMAGEVIEW控件, options   代表DisplayImageOptions配置文件 

 

 清除缓存的方法

 

       //完全退出程序时,可以不调用

       ImageLoader.getInstance().clearDiskCache();//清除磁盘缓存

       ImageLoader.getInstance().clearMemoryCache();//清除内存缓存

 

 

 

0 0
原创粉丝点击