以下のようにDefaultRetryPolicyのinitialTimeoutMsとして1500を設定しましたが、タイムアウトを考慮していません。
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
1.5秒後にonResponseまたはonErrorをキャッチするのに20秒以上かかりました。
バックオフ後に再試行ロジックがあると思います。したがって、リクエストは送信され、1.5秒後にタイムアウトし、ランダムな時間の後に再試行します。全体として、リタイアの数はDefaultRetryPolicy.DEFAULT_MAX_RETRIESです
—
Abhishek Ranjan
max_triesとbackoff_multipliesの値は何ですか?
—
Karan Khurana
どちらにもデフォルト値があります。DefaultRetryPolicy.java中:
—
アリレザNoorali
public static final int DEFAULT_MAX_RETRIES = 1;
public static final float DEFAULT_BACKOFF_MULT = 1f;