ImageLoader简介和使用方法
1.功能概要
(1).使用多线程加载图片
(2).灵活配置ImageLoader的基本参数,包括线程数、缓存方式、图片显示选项等;
(3).图片异步加载缓存机制,包括内存缓存及SDCard缓存;
(4).采用监听器监听图片加载过程及相应事件的处理;
(5).配置加载的图片显示选项,比如图片的圆角处理及渐变动画。
2.简单实现
在使用ImageLoader的实例之前,你需要初始化该配置,否则会报初始化错误。一般我们直接写在application中初始化。
public class MyApplication extends Application {
@Override
public void onCreate() {
ImageLoaderConfiguration loaderConfiguration = new ImageLoaderConfiguration.Builder(this).build();
// 获得实例
ImageLoader imageLoader = ImageLoader.getInstance();
// 初始化
imageLoader.init(loaderConfiguration);
}
}
在初始化配置完成后,在清单中写入你自定义的application,并写入访问权限。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.xlistview">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:name=".Application.MyApplication"
/**代码中的使用
* 第一个参数,是图片的url
* 第二个参数是imageView控件
*/
ImageLoader.getInstance().displayImage(data_list.get(position).getPic_url(), holder.img);
常用参数
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
.threadPoolSize(3) //设置开启线程池数
.memoryCacheSize(10*1024) //设置内存的缓存大小
.memoryCacheExtraOptions(480, 800) //内存缓存图片的最大宽高
.showImageOnLoading(R.mipmap.ic_launcher) //在图片没有加载进来之前显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.error) //设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory(true)//设置下载的图片是否缓存在内存中
.cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存
.displayer(new RoundedBitmapDisplayer(20))//不推荐用!!!!是否设置为圆角,弧度为多少//他会创建新的ARGB_8888格式的Bitmap对象;
.displayer(new FadeInBitmapDisplayer(100))//图片加载好后渐入的动画时间,可能会出现闪动
.diskCacheSize(50 * 1024 * 1024)// 缓冲大小
.build(); //构建完成
//得到ImageLoader对像
ImageLoader imageLoader = ImageLoader.getInstance();
//进行初使化
imageLoader.init(configuration);
ImageLoader简介和使用方法
1.功能概要
(1).使用多线程加载图片
(2).灵活配置ImageLoader的基本参数,包括线程数、缓存方式、图片显示选项等;
(3).图片异步加载缓存机制,包括内存缓存及SDCard缓存;
(4).采用监听器监听图片加载过程及相应事件的处理;
(5).配置加载的图片显示选项,比如图片的圆角处理及渐变动画。
2.简单实现
在使用ImageLoader的实例之前,你需要初始化该配置,否则会报初始化错误。一般我们直接写在application中初始化。
public class MyApplication extends Application {
@Override
public void onCreate() {
ImageLoaderConfiguration loaderConfiguration = new ImageLoaderConfiguration.Builder(this).build();
// 获得实例
ImageLoader imageLoader = ImageLoader.getInstance();
// 初始化
imageLoader.init(loaderConfiguration);
}
}
在初始化配置完成后,在清单中写入你自定义的application,并写入访问权限。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.xlistview">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:name=".Application.MyApplication"
/**代码中的使用
* 第一个参数,是图片的url
* 第二个参数是imageView控件
*/
ImageLoader.getInstance().displayImage(data_list.get(position).getPic_url(), holder.img);
常用参数
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
.threadPoolSize(3) //设置开启线程池数
.memoryCacheSize(10*1024) //设置内存的缓存大小
.memoryCacheExtraOptions(480, 800) //内存缓存图片的最大宽高
.showImageOnLoading(R.mipmap.ic_launcher) //在图片没有加载进来之前显示的图片
.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.error) //设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory(true)//设置下载的图片是否缓存在内存中
.cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存
.displayer(new RoundedBitmapDisplayer(20))//不推荐用!!!!是否设置为圆角,弧度为多少//他会创建新的ARGB_8888格式的Bitmap对象;
.displayer(new FadeInBitmapDisplayer(100))//图片加载好后渐入的动画时间,可能会出现闪动
.diskCacheSize(50 * 1024 * 1024)// 缓冲大小
.build(); //构建完成
//得到ImageLoader对像
ImageLoader imageLoader = ImageLoader.getInstance();
//进行初使化
imageLoader.init(configuration);