ImageLoader简单理解

1.什么是imageloader?我们为什么要用它?

    我们在做Android应用的时候,肯定会遇到异步加载图片,或者加载大量图片 的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等,这些问题解决起来一般会比较难,所以就有很多的开源图片加载框架应运而生,比较著名的就是Universal-Image-Loader,相信很多朋友都听过或者使用过这个强大的图片加载框架。

2.imageloader的优点

1、多线程异步加载和显示图片(图片来源于网络、sd卡、assets文件夹,drawable文件夹(不能加载9patch),新增加载视频缩略图)

2、支持通过“listener”监视加载的过程,可以暂停加载图片,在经常使用的ListView、GridView中,可以设置滑动时暂停加载,停止滑动时加载图片(便于节约流量,在一些优化中可以使用)

3、缓存图片至内存时,可以更加高效的工作

4、高度可定制化(可以根据自己的需求进行各种配置,如:线程池,图片下载器,内存缓存策略等)

5、支持图片的内存缓存,SD卡(文件)缓存

6、在网络速度较慢时,还可以对图片进行加载并设置下载监听

7.根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存

3.使用详解

1.下载 imageloader.jar放入到libs目录下

imageloader的jar包资源

2.在清单文件中配置权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />

3、在应用中配置ImageLoaderConfiguration参数(只能配置一次,如多次配置,则默认第一次的配置参数)

ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(this);//配置ImageLoaderConfiguration参数(只能配置一次,如多次配置,则默认第一次的配置参数)

File cacheDir = StorageUtils.getCacheDirectory(context);  //缓存文件夹路径
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
            .memoryCacheExtraOptions(480, 800) // default = device screen dimensions 内存缓存文件的最大长宽
            .diskCacheExtraOptions(480, 800, null)  // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个 
            .taskExecutor(...)
            .taskExecutorForCachedImages(...)
            .threadPoolSize(3) // default  线程池内加载的数量
            .threadPriority(Thread
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值