volley中沒有指定的方法來設定請求超時時間,可以設定
retrypolicy 來
變通實現。
defaultretrypolicy類有個initialtimeout引數,可以設定超時時間。要確保最大重試次數為0,以保證超時後不重新請求。
為確保請求失敗後不重新請求問題,我們可以針對volley這樣設定:
req.setretrypolicy(new defaultretrypolicy(constants.cud_socket_timeout,
constants.max_retries, defaultretrypolicy.default_backoff_mult));
jsonobjectrequest req = new jsonobjectrequest(method.get,
jsondataurl,
null,
new response.listener()
},
new response.errorlistener()
});//重試不請求
req.setretrypolicy(new defaultretrypolicy(constants.cud_socket_timeout,
constants.max_retries, defaultretrypolicy.default_backoff_mult));
//增、刪、改等操作超時時間
public static final int cud_socket_timeout = 10000;
//查詢超時時間
public static final int r_socket_timeout = 5000;
//最大重試請求次數
public static final int max_retries = 0;
關於Volley重複請求的問題
最近在專案中用volley的時候發現乙個請求的問題 當網路不好的時候請求介面有時候會發出去多次請求,而且是不停的一直請求不會停下來,抓請求後發現請求週期就是設定的超時時間,如圖 查詢資料並檢視原始碼後解決問題,原始碼的defaultretrypolicy類中有乙個建構函式 constructs a ...
Volley網路請求概述
自動排程網路請求 支援併發網路連線 即支援多執行緒 支援標準的http快取協議 由伺服器來決定是否快取資料 支援請求優先順序設定 4級 支援取消單個或多個請求 易於定製 重試 擴充套件性強。比如retry backoff機制 強大的網路請求能力讓你輕鬆的傳送非同步請求來填充ui資料 提供除錯和跟蹤工...
網路請求Volley篇 Android
volley相關api 1.requestqueue 請求佇列,會自動執行佇列中的請求 volley.newrequestqueue context 建立乙個請求佇列 addrequest request request 將請求新增到請求佇列 2.request 代表請求的介面 stringrequ...