Volley使用说明与简单分析

Volley内部主要涉及有Request(请求),RequestQueue(请求队列),CacheDispatcher(缓存分发器,本质是缓存线程,一般只有一一条),NetworkDispather(网络分发器,本质是多线程),(背后采用线程池管理)。ResponseDelivery(Response分发器),NetWork(网络处理)。
一个Request从产生到消费的过程主要包含如下:
将通过RequestQueue的add(Requeue)将Requeue添加到RequeueQueue的mCurrentRequest(本质是Set),然后根据Request的shouldCache判断是否加入缓存队列(BolockingQueue mCacheQueue),然后判断是否含有这个缓存,或者缓存是否过期,或者缓存过期而希望刷新缓存,都会将 Request加入到网络队列(BolockingQueue mQueue),然后NetWorkDispatcher将Request派给NetWork处理,NetWork处理后返回数据,根据属性判断是否将结果加入缓存,然后将结果包装成自定义类返回,成功则回调Resopnse.Listener,失败则回调ErrorListener。
相反,则在缓存队列中寻找结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值