前一篇文章《 Android网络框架volley学习(一)基本用法》学习了volley的基本用法,接下来主要进行源码的分析,本篇文章分析一下volley的大概工作流程,然后针对每一部分进行详细的分析。
工作流程
首先我们来看一下官网给出的流程图,
这张图什么意思呢?首先,这里面有三种颜色,该图右下角也标出来了,蓝色代表主线程,绿色代表缓存线程,橙色代表网络线程。
首先,我们通过在主线程中调用RequestQueue的add()方法来添加一条网络请求,首先缓存线程会提取该请求,如果存在该请求的结果,则直接返回给主线程,否则的话就放到网络请求队列中,然后网络线程处理这条请求,在工作线程中处理,并将结果写入到缓存中最后将处理结果返回到主线程。这就是这张图所表现出来的大概流程。