截击请求重试策略不考虑超时

时间:2019-12-16 11:22:57

标签: java android android-volley request-timed-out retrypolicy

我在 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

花了20秒钟以上,而我希望1.5秒钟后能捕获onResponse或onError !!!

2 个答案:

答案 0 :(得分:3)

根据您的配置。您的超时应为3秒。 引用http://prasadthangavel.blogspot.com/2013/12/why-volley-android-has-provided-two.html

我认为您应该将DEFAULT_BACKOFF_MULT设置为零。

答案 1 :(得分:0)

使用5秒,因为15秒的超时时间更多。

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));