Android-Universal-Image-Loader 图片异步加载类库的使用

来源:互联网 发布:算法导论视频下载 编辑:程序博客网 时间:2024/06/06 03:22


参考文章

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


1、使用显示图片的代码

private ImageLoader imageLoader;private DisplayImageOptions options;imageLoader = ImageLoader.getInstance();imageLoader.init(ImageLoaderConfiguration.createDefault(context));options = new DisplayImageOptions.Builder().showStubImage(Content.NO_PHOTO).showImageForEmptyUri(Content.NO_PHOTO).showImageOnFail(Content.NO_PHOTO).cacheInMemory(true).cacheOnDisc(true).bitmapConfig(Bitmap.Config.ARGB_8888).build();imageLoader.displayImage(url2, vh.touImageView, options);


2、

public static void initImageLoader(Context context) {ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().discCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs().build();ImageLoader.getInstance().init(config);}


3、Configuration所有配置简介   

.memoryCacheExtraOptions(480, 800) //即保存的每个缓存文件的最大长宽  .threadPriority(Thread.NORM_PRIORITY - 2) //设置图片加载线程的优先级,默认为Thread.NORM_PRIORITY-1  线程池中线程的个数  注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效.threadPoolSize(3) // 设置显示图片线程池大小,默认为3  注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效.denyCacheImageMultipleSizesInMemory() // 设置拒绝缓存在内存中一个图片多个大小 默认为允许,(同一个图片URL)根据不同大小的imageview保存不同大小图片.memoryCache(new LRULimitedMemoryCache(40*1024*1024)) //缓存策略.memoryCacheSize(50 * 1024 * 1024) //设置内存缓存的大小 .diskCacheFileNameGenerator(new Md5FileNameGenerator()) // 设置硬盘缓存文件名生成规范 默认为new HashCodeFileNameGenerator().diskCacheSize(200 * 1024 * 1024) //磁盘缓存大小.tasksProcessingOrder(QueueProcessingType.LIFO) //工作队列  设置图片加载和显示队列处理的类型 默认为QueueProcessingType.FIFO 注:如果设置了taskExecutor或者taskExecutorForCachedImages 此设置无效.diskCacheFileCount(200) //缓存的文件数量  .diskCache(new UnlimitedDiskCache(cacheDir)) //自定义缓存路径 .taskExecutor(DefaultConfigurationFactory.createExecutor(3,Thread.NORM_PRIORITY - 1, QueueProcessingType.FIFO))  // 设置自定义加载和显示图片的线程池.taskExecutorForCachedImages(DefaultConfigurationFactory.createExecutor(3,Thread.NORM_PRIORITY - 1, QueueProcessingType.FIFO)) // 设置自定义加载和显示内存缓存或者硬盘缓存图片的线程池.memoryCache(new LruMemoryCache(2 * 1024 * 1024))  // 设置内存缓存 默认为一个当前应用可用内存的1/8大小的LruMemoryCache       .memoryCacheSize(2 * 1024 * 1024) // 设置内存缓存的最大大小 默认为一个当前应用可用内存的1/8.memoryCacheSizePercentage(13)   // 设置内存缓存最大大小占当前应用可用内存的百分比 默认为一个当前应用可用内存的1/8.discCache(new UnlimitedDiscCache(StorageUtils.getCacheDirectory(getApplicationContext())))   // 设置硬盘缓存默认为StorageUtils.getCacheDirectory(getApplicationContext())即/mnt/sdcard/android/data/包名/cache/            .discCacheSize(50 * 1024 * 1024)   // 设置硬盘缓存的最大大小            .discCacheFileCount(100)    // 设置硬盘缓存的文件的最多个数            .imageDownloader(new HttpClientImageDownloader(getApplicationContext(),new DefaultHttpClient()))  // 设置图片下载器 默认为 DefaultConfigurationFactory.createBitmapDisplayer()            .imageDecoder(DefaultConfigurationFactory.createImageDecoder(false))   // 设置图片解码器 ,默认为DefaultConfigurationFactory.createImageDecoder(false)            .defaultDisplayImageOptions(DisplayImageOptions.createSimple())  // 设置默认的图片显示选项 ,默认为DisplayImageOptions.createSimple().writeDebugLogs()   // 打印DebugLogs.build();    // 建立 

4、DisplayImageOptions所有配置简介

.showImageOnLoading(R.drawable.ic_chat_def_pic) // 设置图片加载时的默认图片.showImageOnFail(R.drawable.ic_chat_def_pic_failure) // 设置图片加载失败的默认图片.showImageForEmptyUri(R.drawable.ic_chat_def_pic) // 设置图片URI为空时默认图片.resetViewBeforeLoading(false) // 设置是否将View在加载前复位.delayBeforeLoading(100) // 设置延迟部分时间才开始加载 默认为0.cacheInMemory(true)  // 设置添加到内存缓存 默认为false.cacheOnDisc(true)   // 设置添加到硬盘缓存 默认为false.imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)  // 设置规模类型的解码图像 默认为ImageScaleType.IN_SAMPLE_POWER_OF_2.bitmapConfig(Bitmap.Config.ARGB_8888)   // 设置位图图像解码配置  默认为Bitmap.Config.ARGB_8888.decodingOptions(new Options())    // 设置选项的图像解码.displayer(new FadeInBitmapDisplayer(300))  // 设置自定义显示器  默认为DefaultConfigurationFactory.createBitmapDisplayer().handler(new Handler())    // 设置自定义的handler   默认为new Handler().build();   // 建立



0 0
原创粉丝点击