volley
使用场景:数据量不大的但是通信频繁的场景。不适合大文件下载。
volley是对HttpURLConnection和HttpClient的封装
目前已经不用添加依赖同步,可直接使用
工作流程:主线程、缓存线程和网络线程
1.在主线程请求加入队列
2.缓存线程查询请求是否有缓存,如果有缓存且可用,则缓存中获取数据解析返回给主线程,没有则发给网络线程
3.网络线程发送请求,从服务器获取数据,解析返回给主线程。
StringRquest
JsonObjectRequest
JsonArrayRequest
ImageRequest
每一个新的请求队列,都会默认创建五个子线程。
volley通过Volley.newRequsetQueue创建请求对象RequestQueue
初始化磁盘缓存,创建请求对象,初始化网络请求的线程池,创建分发器。
对象创建完成后会调用start方法启动请求队列
默认四个网络请求的线程,一个缓存线程,先去缓存线程中查看有没有,没有则阻塞,网络线程去请求处理,并将结果添加进缓存队列。
RequsetQueue对象的add方法将请求加入请求队列并发送
未完待续。。。。。。
网友评论