Я установил 1500 как initialTimeoutMs в DefaultRetryPolicy, как показано ниже, но он не учитывает время ожидания:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Я отключил WiFi на своем устройстве, чтобы проверить его время ожидания, и я увидел это время в Logcat :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
Это заняло более 20 секунд, в то время как я ожидал поймать либо onResponse, либо onError через 1,5 секунды !!!
java
android
android-volley
request-timed-out
retrypolicy
Алиреза Нурали
источник
источник
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;
Ответы:
Согласно вашей конфигурации. Ваш тайм-аут должен быть 3 секунды. Ссылаясь на http://prasadthangavel.blogspot.com/2013/12/why-volley-android-has-provided-two.html
Я думаю, что вы должны сделать DEFAULT_BACKOFF_MULT ноль.
источник
Используйте 5 секунд, потому что 15 секунд это намного больше для подачи в тайм-аут.
источник