我在 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 !!!
答案 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));