我使用的是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