`
夏文权
  • 浏览: 242797 次
  • 性别: Icon_minigender_1
  • 来自: 贵州
社区版块
存档分类
最新评论

学习Universal-Image-Loader类库

阅读更多
demo在附件
写道
来自互联网资料:
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加 载,缓存和显示。
特点
多线程的图像加载的可能性的宽调谐对ImageLoader的配置(线程池的大小,HTTP选项,内存和光盘高速缓存,显示图像,以及其他)
的图像的可能性中的缓存存储器和/或设备的文件器系统(或SD卡)可以监听加载过程中
可自定义每个显示的图像调用分隔的选项
Widget支持
Android 2.0上支持

使用方法
缓存不是默认启用
1、DisplayImageOptions的配置
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_launcher)// 加载时显示的默认图片
.showImageForEmptyUri(R.drawable.ic_empty)// 加载url=null时显示的默认图片
.showImageOnFail(R.drawable.ic_error) // 加载出错时显示错误的默认图片
.cacheInMemory(true)//开启内存缓存
.cacheOnDisc(true) //开启硬盘缓存
.bitmapConfig(Bitmap.Config.RGB_565) //图片色值配置
.build();

2、ImageLoaderConfiguration的配置

// 自定义缓存路径
File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), mCache);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.memoryCacheExtraOptions(480, 800) // default = device screen dimensions
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 85, null)
.taskExecutor(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.taskExecutorForCachedImages(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.threadPoolSize(Thread.NORM_PRIORITY)// default 3
.threadPriority(Thread.NORM_PRIORITY - 1)// default 线程优先级别
.tasksProcessingOrder(QueueProcessingType.FIFO)// default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024)) // 2M
.memoryCacheSize(2 * 1024 * 1024)// 2M
// .discCache(new UnlimitedDiscCache(cacheDir)) // default UnlimitedDiscCache ,HashCodeFileNameGenerator
.discCache(new UnlimitedDiscCache(cacheDir,new Md5FileNameGenerator())) // default UnlimitedDiscCache
.discCacheSize(50 * 1024 * 1024) // 本地缓存大小50M
.discCacheFileCount(100) // 文件数量
// .discCacheFileNameGenerator(new HashCodeFileNameGenerator())// default
// .discCacheFileNameGenerator(new Md5FileNameGenerator()) // 文件命名器
.imageDownloader(new BaseImageDownloader(getApplicationContext())) // default
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(imageOptions) // default DisplayImageOptions.createSimple()
.writeDebugLogs()
.build();


ImageLoader mImageLoader = ImageLoader.getInstance();
mImageLoader.init(config);


3、部分参数解释:
//设置图片在下载期间显示的图片
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:图片不会调整

4、权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

分享到:
评论

相关推荐

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

    **Android-Universal-Image-Loader 图片异步加载库详解** 在Android开发中,图片的加载和显示是一项常见的任务,特别是在处理大量图片或者网络图片时,如何高效、流畅地加载和展示图片至关重要。为此,开发者社区...

    Android-Universal-Image-Loader源码和jar包

    Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。 Android开发中我们会经常遇到图片过多或操作不当造成OOM异常,有时虽然是解决了这个...

    AllenImageLoader:基于Android-Universal-Image-Loader的改进ImageLoader

    AllenImageLoader是一款基于Android-Universal-Image-Loader的优化版本,旨在解决Android平台上图片加载、缓存以及显示的问题。在Android开发中,图片加载是一个常见的需求,尤其是在处理大量图片或者网络图片时,...

    Imageload框架使用

    "Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)"这篇文档可能包含了如何配置和使用这个库的详细步骤。Universal Image Loader (UIL) 是一个强大的Android图片加载库,它支持缓存策略、图片...

    安卓图片加载缓存相关-android-image-slide图片加载和滑动特效.rar

    开发者可以反编译APK来查看其内部的布局、图片处理逻辑以及使用的第三方库,如Glide、Picasso或Universal Image Loader等,这些都是常见的Android图片加载库。 "JavaApk源码说明.txt"可能包含了关于压缩包中源代码...

    B4A类库资源大全,还有示例

    4. **多媒体处理库**:包括音频和视频播放、图像处理等,例如Android的MediaPlayer库或第三方库如Volley和Universal Image Loader。 5. **位置服务和地图库**:如Google Maps API的封装,便于在应用中集成地图功能...

    Android-用于android的Imageview缩放库

    在这种情况下,引入专门的图片加载库如 Glide、Picasso 或 Universal Image Loader 等可以显著提高图片加载速度和用户体验。这些库提供了缓存机制、异步加载、图片压缩等功能,有效解决了内存占用过高和UI卡顿的问题...

    详解Android Studio如何导入第三方类库、jar包和so库

    我们只需要将 jar 包拷贝到 app/libs 目录下,然后在 app/build.gradle 文件中添加以下代码:dependencies { compile files('libs/libammsdk.jar') compile files('libs/universal-image-loader-1.8.6-with-sources....

    ImageViewEx 支持Gif显示的ImageView.rar

    1. **Gif解析**:`ImageViewEx`内部可能集成了Gif图片的解析库,如`Android-Universal-Image-Loader`或`Glide`等,这些库能够读取并解析Gif文件,将其转化为一系列的帧图片。 2. **帧动画管理**:为了实现动态Gif的...

    安卓图片多选相关-选择多张照片上传.rar

    1. **多图选择框架**:在Android中,实现多图选择通常会用到第三方库,如`Glide`、`Picasso`用于图片加载,`Android-Universal-Image-Loader`或`Fresco`处理图片缓存。此外,专门的多选图片库如` Auswahl`、`Image...

    android播放gif图片动画

    1. **第三方库**:Android社区中存在许多用于播放GIF动画的开源库,例如`NineOldAndroids`、`Android-Universal-Image-Loader`和`Glide`等。这些库不仅支持GIF动画的播放,还提供了丰富的功能,如缓存、异步加载等。...

    Android 常用封装库

    第三方库如`Android-Universal-Image-Loader`专门处理图片文件,而`Android-async-http`则方便进行文件上传下载。 以上就是Android开发中常用的一些封装类库及其核心功能。它们大大提高了开发效率,同时也降低了...

    UniversalImageLoader

    首先,我们来看看"universal-image-loader-1.9.5.jar"这个文件。这是一个Java类库文件,包含了UniversalImageLoader库的所有源代码和资源。开发者可以通过将这个JAR文件引入到他们的Android项目中,来使用该库提供的...

    集成安卓开源类库 第三方组件示例DEMO 网络请求 数据库操作 异步图片加载 二维码、短信验证码等相关工具类、自定义控件等等

    常见的库有Glide、Picasso和Universal Image Loader。Glide以其高效、流畅的图片加载和动画效果受到青睐,Picasso则以其简单易用的API和良好的社区支持闻名。 5. **二维码**:ZXing(Zebra Crossing)库是处理条形...

    Android UI组件实例集合

    16、Android-Universal-Image-Loader 为了实现异步的网络图片加载,支持多线程异步加载。 17、Android的开发框架 mobilelite 为Android应用开发提供一个轻量级开发框架,让开发者可以基于HTML/CSS/JAVASCRIPT快速...

    网络数据缓存的一种快速实现方式

    `ImageLoader`通常指的是Android开发中用于加载图片的库,如Universal Image Loader或Glide等。这类库不仅负责从网络下载图片,还会进行内存和磁盘缓存,防止内存溢出并提高图片加载速度。以Universal Image Loader...

    Android 通用 帮助类

    - 图片加载:图片加载库如Glide、Picasso或Universal Image Loader是Android开发中的常见需求。帮助类可能提供了简单的接口,用于快速集成图片加载功能。 - 图片压缩:为了优化内存使用和加载速度,图片通常需要...

    应用源码动态ListView,支持异步更新列表,异步更新图片.zip

    Android开发中常见的库有Universal Image Loader、Glide、Picasso等。这些库能够在后台线程下载并缓存图片,减少主线程负担,防止因图片加载导致的卡顿。它们通常提供图片占位符、错误图以及尺寸调整等功能,以优化...

    listview加载更多,并图片异步加载,处理内存溢出

    Android中常见的库如Glide、Picasso和Universal Image Loader等提供了异步加载图片的功能。它们会将图片加载任务放到后台线程执行,避免阻塞主线程。同时,这些库还具有缓存机制,能减少网络请求次数,提高加载速度...

Global site tag (gtag.js) - Google Analytics