Android加载网络图片缓存处理库的使

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将会提供给大家学习,最后提一点,当在加载









































如何治疗白癜风效果好
白癜风早期的治疗方法



转载请注明:http://www.danbaopay.com/gaishu/621.html