universal-image-loader图片异步加载

来源:互联网 发布:四川农大网络教育专业 编辑:程序博客网 时间:2024/05/21 21:38
编辑新增:
/**
    针对listview等加载优化:
    监听滑动状态,来设置当前是否要进行加载图片。
    滑动状态时不加载,让listview滑动更加流畅。
写法:
    new PauseOnScrollListener(ImageLoader.getInstance(), false, true, this);
    这是一个universal-image-loader中的滑动监听,将它赋给listview的滑动监听即可。
    比如:listview.setOnScrollListener( new PauseOnScrollListener(ImageLoader.getInstance(), false, true, this) );
    监听中的四个参数,1:对象;2:慢慢滑动时是否停止加载图片;3:快速滑动时是否要停止加载图片;4:上下文。
    主要是参数2,3的设置。建议2设置false,3为true; 意思就是慢慢滑动时加载图片,但是快速滑动时不加载,让listview开心的滑动。
*/

目前Android使用最为广泛,效果也极佳的图片处理加载器。
用法就不用说了,百度一下一大堆。
将具体的配置做详细说明保留日后使用。
/**
   * Configuration所有配置简介
   */

                // 内存缓存的设置选项 (最大图片宽度,最大图片高度) 默认当前屏幕分辨率
                // .memoryCacheExtraOptions(480, 800)

                // 硬盘缓存的设置选项 (最大图片宽度,最大图片高度,压缩格式,压缩质量,处理器)
                // .discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null)

                // 设置自定义加载和显示图片的线程池
                // .taskExecutor(DefaultConfigurationFactory.createExecutor(3,Thread.NORM_PRIORITY
                // - 1, QueueProcessingType.FIFO))

                // 设置自定义加载和显示内存缓存或者硬盘缓存图片的线程池
                // .taskExecutorForCachedImages(DefaultConfigurationFactory.createExecutor(3,Thread.NORM_PRIORITY
                // - 1, QueueProcessingType.FIFO))

                // 设置显示图片线程池大小,默认为3
                // 注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效
                // .threadPoolSize(3)

                // 设置图片加载线程的优先级,默认为Thread.NORM_PRIORITY-1
                // 注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效
                // .threadPriority(Thread.NORM_PRIORITY - 1)

                // 设置图片加载和显示队列处理的类型 默认为QueueProcessingType.FIFO
                // 注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效
                // .tasksProcessingOrder(QueueProcessingType.FIFO)

                // 设置拒绝缓存在内存中一个图片多个大小 默认为允许,(同一个图片URL)根据不同大小的imageview保存不同大小图片
                // .denyCacheImageMultipleSizesInMemory()

                // 设置内存缓存 默认为一个当前应用可用内存的1/8大小的LruMemoryCache
                // .memoryCache(new LruMemoryCache(2 * 1024 * 1024))

                // 设置内存缓存的最大大小 默认为一个当前应用可用内存的1/8
                // .memoryCacheSize(2 * 1024 * 1024)

                // 设置内存缓存最大大小占当前应用可用内存的百分比 默认为一个当前应用可用内存的1/8
                // .memoryCacheSizePercentage(13)

                // 设置硬盘缓存
                // 默认为StorageUtils.getCacheDirectory(getApplicationContext())
                // 即/mnt/sdcard/android/data/包名/cache/
                // .discCache(new
                // UnlimitedDiscCache(StorageUtils.getCacheDirectory(getApplicationContext())))

                // 设置硬盘缓存的最大大小
                // .discCacheSize(50 * 1024 * 1024)

                // 设置硬盘缓存的文件的最多个数
                // .discCacheFileCount(100)

                // 设置硬盘缓存文件名生成规范
                // 默认为new HashCodeFileNameGenerator()
                // .discCacheFileNameGenerator(new Md5FileNameGenerator())

                // 设置图片下载器
                // 默认为 DefaultConfigurationFactory.createBitmapDisplayer()
                // .imageDownloader(
                // new HttpClientImageDownloader(getApplicationContext(),
                // new DefaultHttpClient()))

                // 设置图片解码器
                // 默认为DefaultConfigurationFactory.createImageDecoder(false)
                // .imageDecoder(DefaultConfigurationFactory.createImageDecoder(false))

                // 设置默认的图片显示选项
                // 默认为DisplayImageOptions.createSimple()
                // .defaultDisplayImageOptions(DisplayImageOptions.createSimple())

                // 打印DebugLogs
                // .writeDebugLogs()

                // 建立
                // .build();
/**
   * DisplayImageOptions所有配置简介
   */
  // 设置图片加载时的默认图片
  // .showImageOnLoading(R.drawable.ic_chat_def_pic)
  // 设置图片加载失败的默认图片
  // .showImageOnFail(R.drawable.ic_chat_def_pic_failure)
  // 设置图片URI为空时默认图片
  // .showImageForEmptyUri(R.drawable.ic_chat_def_pic)
  // 设置是否将View在加载前复位
  // .resetViewBeforeLoading(false)
  // 设置延迟部分时间才开始加载
  // 默认为0
  // .delayBeforeLoading(100)
  // 设置添加到内存缓存
  // 默认为false
  // .cacheInMemory(true)
  // 设置添加到硬盘缓存
  // 默认为false
  // .cacheOnDisc(true)
  // 设置规模类型的解码图像
  // 默认为ImageScaleType.IN_SAMPLE_POWER_OF_2
  // .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
  // 设置位图图像解码配置
  // 默认为Bitmap.Config.ARGB_8888
  // .bitmapConfig(Bitmap.Config.ARGB_8888)
  // 设置选项的图像解码
  // .decodingOptions(new Options())
  // 设置自定义显示器
  // 默认为DefaultConfigurationFactory.createBitmapDisplayer()
  // .displayer(new FadeInBitmapDisplayer(300))
  // 设置自定义的handler
  // 默认为new Handler()
  // .handler(new Handler())
  // 建立
  // .build();
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 红米5手机死屏了怎么办 小米2a手机开不了机怎么办 小米2a长时间没用开不了机怎么办 红米手机玩游戏太卡怎么办 红米2a无限重启怎么办 红米3s像素好差怎么办 红米4x后摄像头进水了怎么办 红米手机卡死了又不能拆电池怎么办 红米1s格式化输入法没了怎么办 红米5a锁屏密码怎么办 红米1s手机开不开机怎么办 红米2a忘记解锁密码怎么办 红米手机忘了解锁图案怎么办 账户密码忘记了手机号不用了怎么办 手机电池用完了冲不进去电怎么办 华为手机电池一体的想扣电池怎么办 苹果微信支付显示需要验证码怎么办 天猫极速退货上门取件预约满怎么办 手机锁死了忘记魅族账号密码怎么办 魅蓝e升级系统开不了机了怎么办 京东第三方店铺显示关闭怎么办 派派怎么提现朋友不够怎么办 派派邀请30个好友才能提现怎么办 派派更换手机号后提现时怎么办 京东白条扫码支付被骗怎么办 实体店买的商品一天后降价怎么办 东西没收到确确认收货了怎么办 工行手机银行转农行卡号错了怎么办 发了后才知道顺丰快递到不了怎么办 三鹰之森吉卜力美术馆没票了怎么办 网贷平台借款如果还找你要钱怎么办 网贷要钱威胁成精神病怎么办 手机清除数据后忘了帐号密码怎么办 拼多多改了标题排名降了怎么办 16g的苹果手机内存不够怎么办 魅族手机没电关机充不进电怎么办 淘宝上买电器售后得不到处理怎么办 苏宁易购物流漏送货已签收怎么办 大件包裹快递快递员不送上楼怎么办 滴滴车主提现忘记登录密码怎么办 荣耀6玩游戏不卡但是闪退怎么办