universal-image-loader图片异步加载

编辑新增:

/**

针对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();

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

时间: 2024-08-06 17:01:24

universal-image-loader图片异步加载的相关文章

Universal Image Loader_图片异步加载

Universal Image Loader 是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示.所以,如果你的程序里需要这个功能的话,那么不妨试试它.他本来是基于Fedor Vlasov's project 项目的,Universal Image Loader在此基础上做了很多修改. 下面是Universal Image Loader官方的说明文档: 开发安卓应用的过程中往往与遇到需要显示网络图片的情形.其实,在手机设备有限的内存空间和处理能力限制下,写

Android消息处理机制:源码剖析Handler、Looper,并实现图片异步加载

引言 我们在做 Android 开发时,常常需要实现异步加载图片/网页/其他.事实上,要实现异步加载,就需要实现线程间通信,而在 Android 中结合使用 Handler.Looper.Message 能够让不同的线程通信,完成异步任务.虽然 Android 官方为我们提供了 AsyncTask 类来完成异步任务,但这个类存在许多问题,并不好用,而且,AsyncTask 也是通过 Handler 和 Thread 来实现异步加载的,所以学习这方面的知识是有必要的 本文讲解思路大致如下:绘制 A

自己动手写android图片异步加载库

尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44344085 接触android有半年了,关于图片异步加载,一直只用别人的框架,虽然特别方便,但是始终未见识到图片异步加载的庐山真面目.最近比较悠闲,研究一些高大上的东西.在这篇文章总结一下我对图片异步加载的一些学习心得. 图片加载最重要的无非就是内存和线程.大家都知道关于内存溢出一般的解决方案就是LruCache,在我的这个demo里我只要使用SoftRefe

Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影. 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置. GITHUB上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,下载最新的库文件,并且导入到项目的

【转】Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

Android-Universal-Image-Loader 原文地址:http://blog.csdn.net/vipzjyno1/article/details/23206387 这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影. 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置.

Android图片异步加载之Android-Universal-Image-Loader

将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就顺便整理记录下来,作为这一个多月来博客的重新开火做饭吧.从今天起我会陆续恢复博客的更新,也希望大家继续支持. 今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全.性能最优的图片异

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

Android开发中我们会经常遇到图片过多或操作不当造成Out of Memory异常,有时虽然是解决了这个问题但却会影响程序的运行效率,例如:当用户在快速滑动滚动条的过程中,我们程序在仍在艰难的加载服务器端的图片,这样给用户造成了极不好的体验.其实网络上关于图片的异步加载和缓存的讲解很多,但是其实,写一个这方面的程序还是比较麻烦的,要考虑多线程,缓存,内存溢出等很多方面,针对这一广大开发者都会遇到的问题,一些牛人们已经帮我们解决了这一问题,今天我为大家介绍一款很流行的开源类库,可以很很好的解决

简单的ListView中item图片异步加载

前言: 在android开发当中,从目标地址获取图片往往都是采用异步加载的方法.当完全加载完图片后在进行显示,也有些是直接将加载的图片一点一点的显示出来. 这两个区别只是对流的处理不同而已.现在就讲讲当图片被完全获取到后在显示的方法. 一,效果图:       初始化:                                                   获取后:                         1.1,效果思路: 初始化的时候默认ImageView显示一张白色的图

Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

原文出自:方杰|http://fangjie.sinaapp.com/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54该项目代码已经放到github:https://github.com/JayFang1993/SinaWeibo 一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不

Android编程之图片(异步)加载类

应某人之请,写一篇关于图片加载类.其实,网上有很多这样的类,而且比较推崇的是来自google中开源中的一篇.他写的比较好了,而且注意了内存优化,下面贴出它的图片下载类: [java] view plaincopy /* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not