图片异步加载框架 Android-Universal-Image-Loader的一些参数说明及方法

         //设置图片在下载期间显示的图片  
         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);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值