我使用的是android volley,当我提出请求时,我得到一个超时错误。我增加了超时使用Android凌空超时不正常工作
request.setRetryPolicy(new DefaultRetryPolicy(
5000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
该实现的问题是我得到一个request.finish结果:7123ms。我应该采取timeoutError。是我不明白关于android超时?我怎样才能将超时精确设置为5000ms?
编辑: 我发现在prasadthangavel.blogspot在每次重试中,请求正在增加其时间。我认为,这应该是我的问题,但 如果我根据Android的凌空默认重试政策
@Override
public void retry(VolleyError error) throws VolleyError {
mCurrentRetryCount++;
mCurrentTimeoutMs += (mCurrentTimeoutMs * mBackoffMultiplier);
if (!hasAttemptRemaining()) {
throw error;
}
}
/**
* Returns true if this policy has attempts remaining, false otherwise.
*/
protected boolean hasAttemptRemaining() {
return mCurrentRetryCount <= mMaxNumRetries;
}`
没有其他重试将进行编辑我的要求
request.setRetryPolicy(new DefaultRetryPolicy(
5000, 0,0));
。但是这也没有解决我的问题。我有一些request.finish 7200ms正在执行的请求。为什么每次连接时间或读取时间大于5000毫秒时都不会抛出异常?
我应该在哪里调用'setRequestPolicy()?'我面临类似的超时问题。 – Roon13 2015-05-15 13:36:16
你能解决这个问题吗?我也有同样的问题。我在想也许RetryPolicy只适用于重试,而不是最初的请求,也许? – kriztho 2018-03-05 20:08:36