Gau*_*wal 6 java android httprequest
我希望在请求第一次失败的情况下为HttpClient 实现HttpRequestRetryHandler.
我还希望为后续重试实施指数退避.在数学上它可以实现为

但是我现在正在努力用HttpRequestRetryHandler在代码中实现它.
HttpRequestRetryHandler 不允许您进行这种级别的控制;如果你想做一些非常具体的事情,我建议实现像Handler这样的东西,你可以在其中发布要延迟执行的 Runnables,例如使用 Handler.postDelayed() 并根据你的公式增加延迟。
Handler mHandler = new Handler();
int mDelay = INITIAL_DELAY;
// try request
mHandler.postDelayed(mDelay, new Runnable() {
public void run() {
// try your request here; if it fails, then repost:
if (failed) {
mDelay *= 2; // or as per your formula
mHandler.postDelayed(mDelay, this);
}
else {
// success!
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4724 次 |
| 最近记录: |