Android加载络图片缓存处理库的使
Android中处理络图片存在的难点:
OOM内存溢出;
图片尺寸和缩略图处理的平衡;
络图片的加载和缓存机制。
根据这些难点,今天在这里跟大家分享一款优秀的框架:Universal-ImageLoader
Universal-ImageLoader的简介:
Universal-ImageLoader是目前Android主流的图片处理库框架之一,作者是白俄罗斯的SergeyTarasevich。在Android图片处理中需要考虑的问题很多,例如OOM、图片缓存和络图片加载、多线程问题及图片压缩处理等等复杂的问题。但是Universal-ImageLoader已经帮我们把这些问题处理好了,对外提供了相应的完善的请求API,我们只需要按照要求使用即可。
Universal-ImageLoader特点:
1.支持本地图片和络图片的多线程异步加载和缓存处理
2.个性化的配置自己项目的ImageLoader
3.图片加载过程的监听回调
4.自动对加载的图片针对当前剩余内存进行裁剪优化,防止OOM
5.较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片
缺点:没有对本地文件压缩处理的相关API方法以及默认都是Src模式设置图片,没有针对Background属性开放API。
Universal-ImageLoader框架图:
Universal-ImageLoader需要用到的jar包:
好了,废话少说,直接上代码,首先看看ImageLoader的一些配置:
注释中已经说明了,这里不再赘述。
接下来看看getDisplayOptions()这个方法:
接下来在onCreate方法中声明和直接应用即可:
布局文件比较简单就是一个ImageView:
我是随便从百度中引用了一个图片的链接,接下来看看效果:
图片已经成功加载出来了,但是你会发现这张图片并没有填充满屏,这个就是上面所说的缺点:没有对本地文件压缩处理的相关API方法以及默认都是Src模式设置图片,没有针对Background属性开放API。
但是我们的效果想要满屏的话可以怎么做呢?只需要在布局中加一行代码就可以实现了:
fitXY指的是用填满的方式缩放图像,这样可以达到我们想要的满屏效果,看看加了fitXY之后的效果:
这个就是我们比较想要的效果。
最后提一下缓存问题,上面中我们的配置是把缓存存在了SD卡的haha文件中,我们看看这个文件是不是有缓存文件:
确实多了一些缓存文件,大家可以试试。
关于ImageLoader的大概使用方法就是这么简单了,源码Demo将会提供给大家学习,最后提一点,当在加载
如何治疗白癜风效果好白癜风早期的治疗方法