Volley的源码分析

1.Volley的网络框架是谷歌在13年的Io大会里新开的一个开源框架,它在android2.3之前是用httpclient进行请求的,在2.3之后用的httpurlconnction用的,因为2.3之前的httpclient还不完美,还有很多bug,2.3以后呢,修复了这些bug而且简单易用,

2重要的类有:

  requetQueue:缓存request的队列,根据优先级的高低排序

CacheDispather: 一个处理请求缓存的线程, 不断的从requestQueue里取出request,然后取出对应的request对应的缓存,若缓存存在就调用对应的responedelivery做后续分发处理,如果没有缓存或缓存失效,就需要从networkdispather里进行网络上获取结果

NetworkDispatcher:一个处理网络请求的线程,和catchDispather相似,从网络上得到响应后,通过responsDelivery做后续分发处理,并判断是否做缓存处理

responseDelivery:用作分发处理,利用handler把结果回调到主线程中,即listener, errorlistener接口,主要实现类是excutorDelivery类

httpstack:主要作用是发起http请求,子类是hurlstack和httpurlstack,分别应付着httpclient,httpurlconneciton

network:处理stack发起的网络请求,把request转换为reponse,  实现类是basicnetwork;

cache:网络请求的缓存,在cacheDispatcher里获取cache,,在networkDispatcher里判断是否保存缓存,实现类是Diskbasecache,

你可能感兴趣的:(Volley的源码分析)