Android:Volley框架分析(十)—— Cache的运转步骤

在上一节,Cache的主要方法分析完后,我们就看看Volley是如何使用Cache的。

1、开启Cache选项

request.setShouldCache(true);

2、添加Request到队列,Volley先判断是否使用缓存,使用就添加到缓存队列,不使用就添加到工作队列(RequestQueue.class)

    public <T> Request<T> add(Request<T> request) {
        request.setRequestQueue(this);
        Set var2 = this.mCurrentRequests;
        synchronized(this.mCurrentRequests) {
            this.mCurrentRequests.add(request);
        }

        request.setSequence(this.getSequenceNumber());
        request.addMarker("add-to-queue");
//判断是否使用缓存
        if(!request.shouldCache()) {
//不使用,添加到工作队列
            this.mNetworkQueue.add(request);
            return request;
        } else {
            Map var8 = this.mWaitingRequests;
            synchronized(this.mWaitingRequests) {
                String cacheKey = request.getCacheKey();
//判断等待队列中是否有相同url的请求
                if(this.mWaiti

猜你喜欢

转载自blog.csdn.net/bdmh/article/details/103760975