J'ai défini 1500 comme initialTimeoutMs dans DefaultRetryPolicy comme ci-dessous, mais il ne prend pas en compte le délai d'expiration:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
J'ai déconnecté le WiFi sur mon appareil pour tester son timeout et j'ai vu ces temps dans le Logcat :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
Cela a pris plus de 20 secondes alors que je m'attendais à attraper onResponse ou onError après 1,5 seconde !!!
java
android
android-volley
request-timed-out
retrypolicy
Alireza Noorali
la source
la source
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;
Réponses:
Selon votre configuration. Votre délai d'expiration doit être de 3 secondes. Se référant à http://prasadthangavel.blogspot.com/2013/12/why-volley-android-has-provided-two.html
Je pense que vous devriez mettre DEFAULT_BACKOFF_MULT à zéro.
la source
Utilisez 5 sec car 15 sec beaucoup plus pour donner un timeout ..
la source