【问题标题】:What's an appropriate timeout for connections on mobiles devices? [closed]移动设备上连接的适当超时是多少? [关闭]
【发布时间】:2012-01-03 20:46:42
【问题描述】:

我想知道是否有人知道或了解移动设备(尤其是 Android)上互联网连接的最佳超时时间。

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

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

【问题讨论】:

  • 更小的超时?你的意思是更长的超时时间?对我来说,说你的连接越差,我对超时的要求就越严格。
  • 这样,如果连接响应,用户就不会挂在那里等待。看到一个应用程序等待 30 秒然后连接失败,真是令人沮丧。

标签: java android http timeout connection


【解决方案1】:

如果您正在访问网页,那么通常 10-30 秒的超时时间是一般做法,如果您正在访问 json api,则比更小的超时示例 5 秒或 10 秒是合适的,因为 JSON 响应中的数据大小通常非常小. JSON api 的超时时间越小,用户等待的时间就越短。

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

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

最后,正如 Baqueta 在上面的回答中所解释的那样,这一切都取决于情况。

【讨论】:

    【解决方案2】:

    坦率地说,我认为您在问一个没有真正答案的问题,或者至少是一个答案是“视情况而定”的问题。

    不过,您可能需要考虑以下几点:

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

    所有这一切,假设您阻止用户执行任何其他操作,那么我会在 10-20 秒的范围内查看超时。这个数字更多是基于我作为用户而不是作为开发人员的经验!

    【讨论】:

    • 谢谢,很好的回答。主要问题显然在于 fetch 操作,因为其他操作可以轻松批处理并在服务中完成,但是当您搜索或加载详细信息时,这可能会出现问题。我认为最好的解决方案可能是监控网络信号并让用户认为它可能需要比平时更长的时间或失败。但是你需要添加电话状态的权限,所以不是最好的用户信任:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多