软件框架之imageloader的使用
来源:互联网 发布:开淘宝网店花钱吗 编辑:程序博客网 时间:2024/06/11 19:57
Imageloader的使用
一、特点:
1)多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等
2)支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置
3)支持图片的内存缓存,文件系统缓存或者SD卡缓存
4)支持图片下载过程的监听
5)根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存
6)较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片,一般使用在ListView,GridView中,滑动过程中暂停加载图片,停止滑动的时候去加载图片
7)提供在较慢的网络下对图片进行加载
二、下载地址
https://github.com/nostra13/Android-Universal-Image-Loader
三、使用步骤
1)导入universal-image-loader-1.9.5.jar到项目中
2)创建MyApplication继承Application,在oncreate()中初始化ImageLoader
完整代码
(1)初始化ImageLoaderConfiguration
(2)ImageLoader全局配置
3)将创建的MyApplication在AndroidManifest.xml中注册
注册Application.png
4)在AndroidManifest.xml中添加联网权限和写sdk权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
5)初始化DisplayImageOptions
6)获取ImageLoader实例
ImageLoader imageLoader = ImageLoader.getInstance();
7)显示加载的图片
参数1:图片url; 参数2:显示图片的控件; 参数3:显示图片的设置; 参数4:监听器
imageLoader.displayImage(Constants.IMAGES[position], holder.image, options, mFirstLoadImageListener);
四、例子
0)准备工作(详见使用步骤)
1)导入universal-image-loader-1.9.5.jar到项目中
2)创建MyApplication继承Application,在oncreate()中初始化ImageLoader
(1)初始化ImageLoaderConfiguration
(2)ImageLoader全局配置
3)将创建的MyApplication在AndroidManifest.xml中注册
4)在AndroidManifest.xml中添加联网权限和写sdk权限
1)在ListView中加载图片
(1)初始化布局
(2)初始化listview
(3)初始化适配器
a)构造器
b)创建存放图片URL的类
c)四个核心方法
2)在GridView中加载图片
(1)初始化布局
(2)初始化view
(3)初始化适配器
a)构造器
b)四个核心方法
3)在ViewPager中加载图片
(1)初始化布局
(2)初始化view
(3)初始化适配器
a)构造器
b)四个核心方法
五、imageLoader内存溢出解决办法
1)减少线程池中线程的个数,在ImageLoaderConfiguration中的(.threadPoolSize)中配置,推荐配置1-5
2)在DisplayImageOptions选项中配置bitmapConfig为Bitmap.Config.RGB_565,因为默认是ARGB_8888, 使用RGB_565会比使用ARGB_8888少消耗2倍的内存
3)在ImageLoaderConfiguration中配置图片的内存缓存为memoryCache(new WeakMemoryCache()) 或者不使用内存缓存
4)在DisplayImageOptions选项中设置.imageScaleType(ImageScaleType.IN_SAMPLE_INT)或者imageScaleType(ImageScaleType.EXACTLY)
- 软件框架之imageloader的使用
- Volley框架ImageLoader的使用
- 开源框架ImageLoader的使用
- 异步加载图片框架ImageLoader的使用
- ImageLoader 图片请求框架的使用
- ImageLoader框架使用步骤
- ImageLoader框架使用
- Android高级之Volley框架(三):ImageRequest、ImageLoader、NewworkImageView的使用
- 开源项目之------ImageLoader的使用
- 软件框架之ButterKnife的使用
- 软件框架之EventBus的使用
- 图片处理框架之ImageLoader
- ImageLoader加载之二--框架holder的抽取
- 使用Volley框架的ImageLoader加载网络图片
- Androidの开源框架ImageLoader的完美使用
- 使用Volley框架的ImageLoader加载网络图片
- 使用Volley框架的ImageLoader加载网络图片
- Android 开源框架Universal-ImageLoader的使用
- nginx.conf
- 浮点转定点运算 (转)
- HDU 6201 transaction transaction transaction(最短路)
- LeakCanary的使用
- Redis各个数据类型的使用场景
- 软件框架之imageloader的使用
- 模拟退火算法基本思想
- DataFrame删除行和列
- Linux平台总线驱动设备模型
- HDU 6034 贪心
- 小程序脚本语言WXS,你想要的都在这里了
- java试题整理1(附部分个人理解)
- dp中滚动数组的应用:01背包、POJ 1159 Palindrome、多段图路径问题
- Cocos2d-x 添加TTF字体