android volley 源码,GitHub - RadiateWSG/Android-Volley-Demo: 基于android volley库的demo,并附上volley源码和注释理解。...

Android-Volley-Demo

基于android volley库的demo,并附上volley源码和注释理解。

概要分析

总体设计:

01b6b129f52b1a5a40216375e8b541a9.png

Response的解析流程:

ce1d690a4c75851bd612e4d0a4b86191.png

1、DiskBasedCache中缓存有该request,则用Cache.Entity在构造NetworkResponse对象。

2、缓存中没有,则加入网络请求队列,BasicNetwork的performRequest()方法中会用HttpResponse构造NetworkResponse对象,而HttpResponse的获取具体实现方法有两种:HttpURLConnection(API >= 9)和HttpClient。

3、NetworkResponse会被具体的Request解析为对应的Response,比如StringRequest、JsonRequest、ImageRequest中都实现了自己的parseNetworkResponse()方法。

4、得到Response后,再由ResponseDelivery(具体实现类是ExecutorDelivery).postResponse(request, response)来发送reponse。

5、最后具体的Request会在deliverResponse()方法中收到消息,并在该方法中回掉Listener给具体调用者。

关于Volley源码的解析,有很多写的不错,可以拿来参考:

[源码分析](http://www.codekk.com/open-source-project-analysis/detail/Android/grumoon/Volley%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90)

[磁盘缓存DiskBasedCache](http://blog.csdn.net/asdzheng/article/details/45955653)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值