ImageLoader初始化配置
来源:互联网 发布:域名 admin php 跳转 编辑:程序博客网 时间:2024/06/03 10:57
搜索, 添加依赖 universal-ImageLoader.1.9.5
新建ImageApplication 继承Application
在onCreate()方法里ImageLoaderUtils.initConfigration(this)初始化配置
清单文件中加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
单独写的工具类ImageLoaderUtils
package com.example.a07_image_loader_demo01;
import android.content.Context;
import android.graphics.Bitmap;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.decode.BaseImageDecoder;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;
import java.io.File;
/**
* @author Dash
* @date 2017/9/6
* @description:
*/
public class ImageLoaderUtils {
/**
* 初始化imageloader的配置
* @param context
*/
public static void initConfigration(Context context) {
File cacheDir = StorageUtils.getCacheDirectory(context); //缓存文件夹路径
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.threadPoolSize(3)//一般就是3,,,1-5
.threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级,,,1-10
.tasksProcessingOrder(QueueProcessingType.FIFO) // default
.denyCacheImageMultipleSizesInMemory()//拒绝缓存加载内容相同但大小不同的图片
.memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现
.memoryCacheSize(2 * 1024 * 1024) // 内存缓存的最大值
.memoryCacheSizePercentage(13) // default
.diskCache(new UnlimitedDiskCache(cacheDir)) // default 可以自定义缓存路径
.diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值
.diskCacheFileCount(100) // 可以缓存的文件数量
// default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
.imageDownloader(new BaseImageDownloader(context)) // default
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
.writeDebugLogs() // 打印debug log
.build(); //开始构建
//初始化
ImageLoader.getInstance().init(config);
}
public static DisplayImageOptions getDefautOption() {
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.resetViewBeforeLoading(true)//在加载之前复位一下显示
.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量
.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转)
.build();
return imageOptions;
}
/**
* 圆形图片的配置
* @return
*/
public static DisplayImageOptions getCircleOption() {
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.resetViewBeforeLoading(true)//在加载之前复位一下显示
.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量
.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转)
.displayer(new CircleBitmapDisplayer())//圆形显示
.build();
return imageOptions;
}
/**
* 加载圆角图片
* @return
*/
public static DisplayImageOptions getBoundOption() {
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
.showImageOnFail(R.mipmap.ic_launcher)
.showImageOnLoading(R.mipmap.ic_launcher)
.cacheInMemory(true)
.cacheOnDisk(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.resetViewBeforeLoading(true)//在加载之前复位一下显示
.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量
.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转)
.displayer(new RoundedBitmapDisplayer(20))//指定加载圆角的大小
.build();
return imageOptions;
}
}
阅读全文
0 0
- ImageLoader初始化配置
- ImageLoader初始化配置
- 开源框架ImageLoader初始化配置
- 初始化Imageloader
- 初始化ImageLoader
- 配置ImageLoader
- ImageLoader配置
- imageloader配置
- ImageLoader配置
- ImageLoader配置
- ImageLoader配置
- ImageLoader配置
- ImageLoader配置
- imageloader配置
- ImageLoader配置
- ImageLoader配置
- ImageLoader配置
- imageLoader的初始化
- 在DubboX中使用高效的Java序列化(Kryo和FST)
- ALM使用
- NLP中的词性标注方法
- Ambari Samba连接Windows(具有root权限)和Linux互通进行开发
- JavaScript 正则表达式的创建,基本使用方法案例
- ImageLoader初始化配置
- 数据库中DQL,DML,DDL,DCL
- 计算机体系结构--Cache
- 向Mysql数据库插入五万条记录(批处理)
- Redis介绍与简单使用
- 创建Java工程实现发送邮件(163邮箱)
- 处理数字
- XML的初始以及约束
- 德拓DATATOM校招C/C++软件研发笔试题