[java] 발리 요청 재시도 정책은 시간 초과를 고려하지 않습니다

아래와 같이 DefaultRetryPolicy 에서 1500을 initialTimeoutMs 로 설정 했지만 시간 초과를 고려하지 않습니다.

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 초 이상 걸렸습니다!



답변

구성에 따라. 제한 시간은 3 초입니다. http://prasadthangavel.blogspot.com/2013/12/why-volley-android-has-provided-two.html 참조

DEFAULT_BACKOFF_MULT를 0으로 만들어야한다고 생각합니다.


답변

타임 아웃을주기 위해 15 초가 걸리기 때문에 5 초를 사용하십시오.

int TIME_OUT = 500; //use 5 sec it will work fine with it..

request.setRetryPolicy(new DefaultRetryPolicy(
    TIME_OUT,
    DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));


답변