Android加载网络图片缓存处理库的使用-Universal-ImageLoader

本文介绍Universal-ImageLoader,一款Android平台主流的图片处理库框架。该框架支持本地与网络图片异步加载与缓存,提供个性化配置及图片加载监听等功能,有效避免内存溢出等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android中处理网络图片存在的难点:

  1. OOM内存溢出;

  2. 图片尺寸和缩略图处理的平衡;

  3. 网络图片的加载和缓存机制。


根据这些难点,今天在这里跟大家分享一款优秀的框架:Universal-ImageLoader


Universal-ImageLoader的简介:

Universal-ImageLoader是目前Android主流的图片处理库框架之一,作者是白俄罗斯的Sergey Tarasevich。在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将会提供给大家学习,最后提一点,当在加载https这种图片的时候是加载不出来的,解决的方法也是在源码中有解释和解决,当然网上有人对ImageLoader的jar包进行了更改,直接导入项目工程直接用也是可以解决的,这里也不再赘述,大家直接看源码学习即可。


第一次写这种技术性的文章,写得不好望大家指正。以后会经常写写这些文章跟大家一起学习。


长按下面的二维码扫一扫可关注代码笔记:



源码连接:http://download.youkuaiyun.com/download/d199138/9596602

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值