移动设备上的连接适当超时是多少?

时间:2011-11-22 13:05:23

标签: java android http timeout connection

我想知道是否有人知道或者有任何关于移动设备(特别是Android)上互联网连接最佳超时的信息。

由于他们的互联网访问受限且存在相当大的延迟,因此设置较小的超时(默认设置)可能会很有趣,因为该设备可能会在该特定时刻通过网络黑点。

更新 正如我在评论中提到的那样,这发生在我身上,因为用户等待30秒的超时然后让它最终失败可能会很烦人。

2 个答案:

答案 0 :(得分:5)

坦率地说,我认为你提出的问题没有真正的答案,或者至少有一个答案是“它取决于”。

以下是您可能需要考虑的一些事项:

  • 尽可能在后台使用互联网连接保留任务。这样,您可以在不让用户等待的情况下进行长时间超时。希望这说明显而易见!
  • 用户想要获取/发送数据有多糟糕?对他们来说越重要,他们准备等待的时间越长。因此,正在上传商业数据的商业应用可能会比仅提交高分的游戏使用更长的超时时间。
  • 当使用移动连接(即2G / 3G)时,与使用Wi-Fi相比,对性能的期望更低。您可能希望将其考虑在内。
  • 移动,信号强度可能是一个问题。同样,这是你可能想要考虑的事情。
  • 您可以随时让用户自行设置超时时长......

所有这一切,假设你阻止用户做其他任何事情,那么我会在10-20秒的区域内查看超时。这个数字更多地基于我作为用户的经验而不是开发人员!

答案 1 :(得分:2)

如果您正在访问网页,那么通常10-30秒超时是一般做法,如果您访问json api而不是较小的超时示例5秒或10秒是合适的,因为JSON响应中的数据大小通常很小。 JSON api的较小超时允许用户等待更少。

正如你所说,用户等待30秒然后让它最终失败可能会很烦人。对于移动设备,问题是没有网络访问,因此更快失败更好,并为用户提供重试选项。

我在我的应用程序中所做的是监视网络状态并设置10秒超时,如果它仍然失败,用户可以重试/刷新加载数据而不是等待30秒并使其失败。

最后,巴克塔在上面的回答中解释说,这一切都取决于具体情况。