Android:Volley框架分析(二)——请求队列

在Android:Volley框架分析(一)——请求准备并发出的操作步骤中,我们了解了一个请求发出去的步骤,这一节我们就来看看请求队列的事。

requestQueue.add(request);

通过上面的代码,一个请求就被加入到Volley的请求队列,请求将被逐个执行。

先来看看请求队列的内部的几个属性。

mCurrentRequests:当前这个队列里面所有的请求集合(包括等待中的和正在执行的,工作队列中的和缓存队列中的)。

mCacheQueue:缓存队列(Volley的缓存机制)

mNetworkQueue:工作队列,真正会被发出去的请求存放于此

mWaitingRequests:这是一个Map对象,Volley会使用request的Url做为key值,对应一个Queue对象,Queue里面存储key值(即url)一样的request请求。当reqeust设置为从缓存中获取时,就会使用这个对象了

下面看看Add代码。

    public  Request add(Request request) {
//request传入Queue对象
        request.setRequestQueue(this);
        Set var2 = this.mCurrentRequests;
//将request对象添加到上面提到的集合属性中
        synchronized(this.mCurrentRequests) {
            this.mCurrentRequests.

你可能感兴趣的:(Java,Android源码解读)