Tôi đã đặt 1500 là initTimeoutMs trong DefaultR temPolicy như bên dưới nhưng nó không xem xét đến thời gian chờ:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Tôi đã ngắt kết nối WiFi trên thiết bị của mình để kiểm tra thời gian chờ và tôi đã thấy những lần này trong Logcat :
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
Phải mất hơn 20 giây trong khi tôi dự kiến sẽ bắt được onResponse hoặc onError sau 1,5 giây !!!
Tôi tin rằng có một logic thử lại sau khi backoff. Vì vậy, yêu cầu được gửi, sau 1,5 giây nó hết thời gian và sau đó thử lại sau một thời gian ngẫu nhiên. Nhìn chung, số lượng nghỉ hưu là DefaultR temPolicy.DEFAULT_MAX_RETRIES
—
Abhishek Ranjan
giá trị của bạn cho max_tries và backoff_multiplies là gì?
—
Karan Khurana
Cả hai đều có giá trị mặc định. trong DefaultR
—
temPolicy.java
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;