Android Image-Loader简单使用介绍。

一.Universal-Image-Loader概述:

Android-Universal-Image-Loader是一个开源的图片加载框架,这个项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。
开源库的特性:
1.多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等
2.支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置
3.支持图片的内存缓存,文件系统缓存或者SD卡缓存
4.支持图片下载过程的监听
5.根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存
6.较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片,一般使用在ListView,GridView中,滑动过程中暂停加载图片,停止滑动的时候去加载图片
7.提供在较慢的网络下对图片进行加载

二、使用效果图
设置没有加载出来时的效果:
这里写图片描述

加载成功后的图片:
这里写图片描述

在项目里导入jar包后,先要配置ImageLoaderConfiguration,这个是对全局图片缓存还有线程,缓存大小,解析等等进行配置,然后ImageLoader是具体实现下载图片、缓存图片显示图片的执行类,把配置好的ImageLoaderConfiguration传入ImageLoader,完成初始化工作,也就是初始化后才能使用ImageLoader.getInstance().displayImage()加载图片。

ImageLoader的初始化可以在Application中实现:
public class MyApp extends Application {
   

    @Override
    public void onCreate() {
        super.onCreate();
        initImageLoader1(getApplicationContext());

    }

    /*
     * 自定义配置
     */
    public static void initImageLoader(Context context) {
        ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(
                context);
        config.threadPoolSize(3);//线程池内加载的数量 
        config.threadPriority(Thread.NORM_PRIORITY - 2);
        config.denyCacheImageMultipleSizesInMemory();// 不缓存图片的多种尺寸在内存中
        config.diskCacheFileNameGenerator(new Md5FileNameGenerator());// 将保存的时候的URI名称用MD5
        config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
        config.tasksProcessingOrder(QueueProcessingType.LIFO);
        config.writeDebugLogs();// Remove for release app
        // 初始化ImageLoader
        ImageLoader.getInstance().init(config.build());
    }

    /*
     * 默认的配置,一般没有特殊的要求的时候就使用默认就好了。
     */
    public static void initImageLoader1(Context context) {
        // 创建默认的ImageLoader配置参数
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration
                .createDefault(context);
        // 初始化ImageLoader
        ImageLoader.getInstance().init(configuration);
    }
}

在diskCacheFileNameGenerator();这是表示将缓存下来的文件以什么方式命名,有以下两种方式:
1.new Md5FileNameGenerator() //使用MD5对UIL进行加密命名
2.new HashCodeFileNameGenerator()//使用HASHCODE对UIL进行加密命名

<!-- 网络权限和缓存权限 -->
    <span style="color:#ff0000;"><uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></span>
    <appl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值