初识Volley框架

本文介绍了Android平台上的网络通信库Volley,它结合了AsyncHttpClient和Universal_Image_Loader的优点,适用于数据量不大但网络交互频繁的场景。文章讨论了Volley在网络图片加载方面的优势与不足,并提供了三种使用方法。

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

Android平台网络通信库,使网络通信更快,更健壮,更简单。Volley把AsyncHttpClient和Universal_Image_Loader的优点集于一身,既可以像前者一样非常简单的进行HTTP通信,又可以像后者一样轻松加载网络图片。适合进行数据量不大但通信网络频繁的操作。
缺点:对于大数据量的网络操作,比如文件下载,表现就非常糟糕。
Volley.newRequestQueue()在每个app中执行一次最好,应该写成单例模式或者在application中完成初始化。

ImageRequest:此类里,Response doParse(NetworkResponse response)  中,在这里我们可以看到,如果我们不设置最大宽高,就会直接解码图片,这个加载的就是实际大小的图片,占用内存就不太好控制了。

Imageloader:所有请求必须放在主线程中,它的get()方法中可以设置图片大小,减小oom可能;
NetworkImageview:是对Imageview的再次封装,加入网络请求,但是没有处理图片压缩,所以oom可能性大,我们需要重写该类,在里面设置加载图片尺寸方法。

三种加载方式:默认情况下,volley会提供图片的文件缓存,路径在data/data/包名/cache/volley目录下。

方法1:利用ImageRequest为ImageView加载网络图片,不带图片内存缓存
方法2:利用ImageLoader为ImageView加载网络图片,需要自定义图片内存缓存
方法3:利用ImageLoader和NetworkImageView为ImageView加载网络图片,需要自定义图片内存缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值