码迷,mamicode.com
首页 > 其他好文 > 详细

universal-image-loader图片异步加载

时间:2015-07-20 23:43:46      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:universal image load   图片加载   图片缓存   

编辑新增:
/**
    针对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();

版权声明:本文为博主原创文章,未经博主允许不得转载。

universal-image-loader图片异步加载

标签:universal image load   图片加载   图片缓存   

原文地址:http://blog.csdn.net/u012579015/article/details/46973153

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!