工作点滴,汇聚成雨
(volley浅解)
volley在工作中用得多,直至今天才有时间静下心来好好的研究一番,网上也有很多分析volley的文章,我这里就用最简短简单的方式把我理解的东西表达出来。
1.volley的优点:
数据的异步下载;
网络请求由请求队列维护;
网络请求优先级处理;
缓存;
多级别取消请求;
与Activity生命周期联动(Activity在结束的同时可取消所有网络请求);
等等
2.volley内包含的主要东西如下:(请求,继承自Request类,重写两个方法:parseNetworkResponse() and deliverResponse())
RequestQueue:请求队列,所有发起的请求都会集中到这里来;
StringRequest:get或post请求的发起,post请求要重写getParam()方法来添加参数;
JsonObjectRequest:Json请求的发起;
ImageRequest:图像请求的发起;
ImageLoader:图像请求的发起,内部实现基于ImageRequest,添加了图像的缓存,重复请求的避免等功能;
ImageCache:ImageLoader对缓存的处理在此实现,这是一个接口,可实现此接口并在构造函数中添加LruCache来实现缓存;
NetworkImageView:volley的继承自ImageView的一个控件,可用于加载网络图像,setImageUrl(url, imageLoader);
3.volley中请求的取消方式:
请求.setTag(Tag);
在Activity退出的时候取消所有请求:在onStop()方法中调用此句if(mRequestQueue!=null){mRequestQueue.cancelAll(Tag)}
4.那么volley的内部是如何处理请求的呢?如图:
volley浅解至此,源码分析待下回分晓..................