Ich habe 1500 als initialTimeoutMs in DefaultRetryPolicy wie folgt festgelegt, aber das Zeitlimit wird nicht berücksichtigt:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Ich habe das WLAN auf meinem Gerät getrennt, um das Zeitlimit zu testen, und habe diese Zeiten im Logcat gesehen :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
Es dauerte mehr als 20 Sekunden, während ich erwartete, nach 1,5 Sekunden entweder onResponse oder onError zu fangen !!!
java
android
android-volley
request-timed-out
retrypolicy
Alireza Noorali
quelle
quelle
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;
Antworten:
Entsprechend Ihrer Konfiguration. Ihre Zeitüberschreitung sollte 3 Sekunden betragen. Siehe http://prasadthangavel.blogspot.com/2013/12/why-volley-android-has-provided-two.html
Ich denke, Sie sollten DEFAULT_BACKOFF_MULT auf Null setzen.
quelle
Verwenden Sie 5 Sek., Da 15 Sek. Viel mehr Zeit zum Ausgeben von Timeout benötigen.
quelle