ImageLoader加载图片
来源:互联网 发布:hd平板软件市场 编辑:程序博客网 时间:2024/06/06 05:08
Android图片异步加载开源框架android-Universal-Image-Loader 是一个被广泛应用的框架,Github上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,用这个框架来帮助我们实现网络图片下载,不用担心OOM等问题,使用方便,我们简单讲下其它初始化配置。
一般而言我们是要全局使用ImageLoader,所以我们可以选择在Application中初始化设置该类。初始化ImageLoader要涉及到两上类ImageLoaderConfiguration和DisplayImageOptions。其中ImageLoaderConfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置。DisplayImageOptions 用于设置图片显示的类。
常用配置方法及参数如下:
---------DisplayImageOptions设置-------------------------------------
private DisplayImageOptions options;
options = new DisplayImageOptions.Builder()// 开始构建, 显示的图片的各种格式
.resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位
.cacheInMemory(true)// 开启内存缓存
.cacheOnDisk(true) // 开启硬盘缓存
.displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少;避免使用RoundedBitmapDisplayer.他会创建新的ARGB_8888格式的Bitmap对象;
.displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间
.displayer(new SimpleBitmapDisplayer())// 正常显示一张图片
.bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型;使用.bitmapConfig(Bitmap.config.RGB_565)代替ARGB_8888;
.considerExifParams(true)// 是否考虑JPEG图像EXIF参数(旋转,翻转)
.imageScaleType(ImageScaleType.EXACTLY)// 缩放级别
.imageScaleType(ImageScaleType.IN_SAMPLE_INT)//这两种配置缩放都推荐
.build();// 构建完成(参数可以不用设置全,根据需要来配置)
--------------- ImageLoaderConfiguration配置----------------------
private static ImageLoaderConfiguration config;
config = new ImageLoaderConfiguration.Builder(context)// 开始构建 ,图片加载配置
.threadPriority(Thread.NORM_PRIORITY - 2)// 设置线程优先级
.threadPoolSize(3)// 线程池内加载的数量 ;减少配置之中线程池的大小,(.threadPoolSize).推荐1-5;
.denyCacheImageMultipleSizesInMemory()// 设置加载的图片有多样的
.tasksProcessingOrder(QueueProcessingType.LIFO)// 图片加载任务顺序
.memoryCache(new WeakMemoryCache())//使用.memoryCache(new WeakMemoryCache()),不要使用.cacheInMemory();
.memoryCacheExtraOptions(480, 800) // 即保存的每个缓存文件的最大长宽
.memoryCacheSizePercentage(60)// 图片内存占应用的60%;
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())//使用HASHCODE对UIL进行加密命名
.diskCacheFileNameGenerator(new Md5FileNameGenerator())// 将保存的时候的URI名称用MD5 加密
.diskCacheSize(50 * 1024 * 1024) // 缓存设置大小为50 Mb
.diskCache(new UnlimitedDiskCache(cacheDir))// 自定义缓存路径
.diskCacheFileCount(100) // 缓存的文件数量
.denyCacheImageMultipleSizesInMemory()// 自动缩放
.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
.memoryCacheExtraOptions(480, 800)//设置缓存图片时候的宽高最大值,默认为屏幕宽高;保存的每个缓存文件的最大长宽
.defaultDisplayImageOptions(options)// 如果需要打开缓存机制,需要自己builde一个option,可以是DisplayImageOptions.createSimple()
.writeDebugLogs() // Remove for release app
.build();构建完成(参数可以不用设置全,根据需要来配置)
最后一句话:ImageLoader.getInstance().init(config);初始化完成
-------------------如果我们要在一个ImageView上展示网址url图片-----------------------
ImageLoader.getInstance().displayImage(url, imageView, options);就可以了
- ImageLoader 加载本地图片
- ImageLoader加载圆形图片
- Android 图片加载ImageLoader
- imageloader加载网络图片
- ImageLoader加载图片配置
- imageloader加载本地图片
- ImageLoader加载圆形图片
- 图片的加载ImageLoader
- 图片加载类ImageLoader
- universal-ImageLoader加载图片
- Android图片加载ImageLoader
- ImageLoader加载圆形图片
- ImageLoader加载图片
- ImageLoader加载图片
- imageLoader加载本地图片
- 图片异步加载ImageLoader
- ImageLoader 加载图片错乱
- Android ImageLoader加载图片
- Spark Streaming笔记——技术点汇总
- pip和easy_install的使用对比,python库文件安装方法
- 牛客网华为在线训练---进制转换
- 疯狂队列(交错队列)
- php使用GD库制作验证码,点击验证码或看不清会刷新验证码
- ImageLoader加载图片
- VS2012 配置GDAL
- Profile(统计一个消息处理所用的系统时间)
- Maven的配置文件pom.xml
- mysql 递归查询
- 笔试编程题总结
- algorithm头文件下的常用函数
- [thinkPHP5项目实战_08]模板分离和URL生成
- swift block