He configurado 1500 como initialTimeoutMs en DefaultRetryPolicy como se muestra a continuación, pero no considera el tiempo de espera:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Desconecté el WiFi en mi dispositivo para probar su tiempo de espera y vi estos tiempos en Logcat :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
¡Tomó más de 20 segundos mientras esperaba capturar onResponse o onError después de 1.5 segundos!
Creo que hay una lógica de reintento después de un retroceso. Entonces, la solicitud se envía, después de 1,5 segundos, se agota el tiempo de espera y luego vuelve a intentarlo después de un tiempo aleatorio. En general, el número de retiros es DefaultRetryPolicy.DEFAULT_MAX_RETRIES
—
Abhishek Ranjan
¿Cuál es su valor para max_tries y backoff_multiplies?
—
Karan Khurana
Ambos tienen valores predeterminados. en DefaultRetryPolicy.java:
—
Alireza Noorali
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;