Я встановив 1500 як початковіTimeoutM в DefaultRetryPolicy, як показано нижче, але він не враховує час очікування:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Я відключив Wi-Fi на своєму пристрої, щоб перевірити його таймаут, і я побачив ці дані в 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 секунди !!!
Я вважаю, що є логіка повторного використання після виходу з бака. Таким чином, запит надсилається, через 1,5 секунди він вичерпується, а потім повторюється через деякий випадковий час. Загальна кількість пенсіонерів - DefaultRetryPolicy.DEFAULT_MAX_RETRIES
—
Abhishek
яке значення для max_tries та backoff_multiplies?
—
Каран
Вони мають значення за замовчуванням. у DefaultRetryPolicy.java:
—
Аліреза Нооралі
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;