Image-Universal-Loader

Posted 芳草玫瑰下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Image-Universal-Loader相关的知识,希望对你有一定的参考价值。

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);

以上是关于Image-Universal-Loader的主要内容,如果未能解决你的问题,请参考以下文章

代码片|水波纹

代码片--练习匿名内部类

一个简单的时间片轮转内核代码的分析(课程作业)

markdown 放代码片

代码片-下拉树实现

用java给html文件添加必要的控制html代码片