Question

I am using Volley library in Android, I want to know what is maximum size of queue is allowed using Volley library. There is nothing I found related to this. As I know you need to add the network request to the queue but I don't know what is maximum size of this that I can put it on queue parallel.

RequestQueue requestQueue = Volley.newRequestQueue(this);
.... // block of code
requestQueue.add(jsonObjectRequest);
Était-ce utile?

La solution

You are probably confusing 2 things:

  • wating queue size
  • max parallel network requests

For waiting queue size:

/** The queue of requests that are actually going out to the network. */
private final PriorityBlockingQueue<Request<?>> mNetworkQueue =
    new PriorityBlockingQueue<Request<?>>();

Volley uses a PriorityBlockingQueue which itself uses a PriorityQueue with a initial capacity of 11, but will automatically grow, so there should be no reasonable limit.

private static final int DEFAULT_INITIAL_CAPACITY = 11;
...
public PriorityQueue() {
    this(DEFAULT_INITIAL_CAPACITY, null);
}

For max parallel network requests:

RequestQueue requestQueue = Volley.newRequestQueue(this);

will call

RequestQueue queue = new RequestQueue(new DiskBasedCache(cacheDir), network);

and this calls

public RequestQueue(Cache cache, Network network) {
        this(cache, network, DEFAULT_NETWORK_THREAD_POOL_SIZE);
    }

and DEFAULT_NETWORK_THREAD_POOL_SIZE is

private static final int DEFAULT_NETWORK_THREAD_POOL_SIZE = 4;

So by default there are 4 concurrent threads handling the requests (so max 4 request at the same time).


Waiting queue size is Integer.MAX ie. basically limitless; while max parallel network requests are 4, which can be changed with the RequestQueue constructor.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top