我遇到了一个问题,即我们的 android 应用程序的 HTTP 请求经常超时,我需要为超时限制和重试次数找到一个合理的水平。
当前使用 apache DefaultHttpClient 实现的解决方案(不是我的实现)正在执行三次手动重试,超时时间增加,如下所示:
private static final int[] CONNECTION_TIMEOUTS = new int[] {4000, 5000, 10000};
private static final int[] SOCKET_TIMEOUTS = new int[] {5000, 8000, 15000};
我很难理解为什么当前实现使用增加超时的原因以及这是试图解决的问题。该应用程序大部分时间在手机连接到 3G 时使用。有没有人解释为什么每次重试增加超时会更好,或者也许有人对 3G 网络上的 HTTP 请求处理有最佳实践?