Deshabilitar la administración de la caché de Volley

¿Hay una manera que podría desactivar la gestión de caché de Volley? Mi aplicación utiliza la biblioteca de Google Volley para administrar la capa de transporte, pero tengo mi propia implementación del gestor de caché porque el servidor no utiliza el encabezado Cache-Control. Quiero guardar el espacio que utiliza el caché de Volley porque es totalmente inútil.

¿Hay alguna manera fácil? O debo implementar mi propia versión de RequestQueue ?

Cualquier sugerencia apreciada.

Si utiliza cualquiera de las clases de solicitud predeterminadas implementadas en volley (por ejemplo, StringRequest, JsonRequest, etc.), entonces llame a setShouldCache (false) justo antes de agregar el objeto request a la volea RequestQueue:

 request.setShouldCache(false); myQueue.add(request); 

Si tiene su propia implementación de la clase Request, puede llamar a setShouldCache (false) en el constructor de su clase.

Esta solución deshabilita el almacenamiento en caché para cada solicitud de forma individual. Si desea deshabilitar el almacenamiento en caché global desde la biblioteca volley, puede establecer permanentemente la variable mShouldCache en false en la clase Request.

Puede crear su RequestQueue de constructor y pasar allí NoCache como el primer paramether. El segundo parámetro es un transporte de red basado en su elección de AndroidHttpClient o HttpURLConnection .

 RequestQueue queue = new RequestQueue(new NoCache(), new BasicNetwork(new HurlStack())); 

Para obtener más detalles, consulte esta documentación .

 request.setShouldCache(false); 

No parece ser suficiente para las solicitudes GET. Sin embargo, borrar la memoria caché antes de agregar a la cola parece ayudar

 myRequestQueue.getCache().clear(); 

Puse esto en mi método de getRequestQueue() en mi singleton de Volley. Antes de devolver la cola.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.