遇到安卓手机移动和电信4g请求慢的,wifi没问题的,可能是官方导致的

发布于 8 年前作者 xia255802 次浏览最后编辑 8 年前来自 ask

注:此问题提到的4g为移动4g和电信4g

  • 当前 Bug 的表现(可附上截图)

我手机是小米6,手机卡是电信4g和联通4g,联通4g是没问题,同事的是移动4g。这个问题无论是现在还是以前低版本的微信和基础库都存在。还有我看社区有部分人说时开启了ipv6的问题,但开发后端的同事说已经把ipv6关闭了。

如果你app.json没设置networkTimeout,那么默认超时是60000ms,或者设置的networkTimeout超过30000ms,设置超时超过30000ms按30000ms算(设置超时为0则变为默认的60000ms),那么手机请求到数据的时间为30s多一些,如果小于30000ms,则比设置的超时多一些,推测官方把这个时间当发出请求的时间了。

  • 预期表现

networkTimeout时间为超时时间,而不是发出请求的时间

  • 复现路径

1、没有设置超时时间的情况

WXOPEN Club 内容图片

2、超时时间设置为0

WXOPEN Club 内容图片

3、超时时间设置为40000ms

WXOPEN Club 内容图片

4、超时时间设置为20000ms

WXOPEN Club 内容图片

5、超时时间设置为2000ms

WXOPEN Club 内容图片

6、联通4g不设置超时的情况

WXOPEN Club 内容图片

7、我的手机卡截图

WXOPEN Club 内容图片
  • 提供一个最简复现 Demo
7 回复
guiying05
guiying051 楼6 年前

这个问题解决了吗?我的也是 用 小米手机指纹版请求数据要30多秒。其他手机正常。。根据调试的,  如果换个域名 、换wifi热点 都能正常请求。。。现在这实在不懂怎么回事

xxiong
xxiong2 楼6 年前

希望官方出来解答一下,现在出现的越来越频繁了

minjin
minjin3 楼6 年前

这个没办法。我的建议是超时时间设置为10秒,10秒不来直接断掉重来。

第二次获取一直很快。

tsun
tsun4 楼6 年前

我的用真机很慢,开发工具上很快,不知道怎么回事

imeng
imeng5 楼6 年前
WXOPEN Club 内容图片

看看这里,都在哪里耗时

uhou
uhou6 楼6 年前

看看是不是服务器支持ipv6但是手对ipv6支持不是很好导致的?

如果确认是ipv6导致的:

  1. 关闭服务端的ipv6监听或者关闭ipv6的dns解析

  2. 有的手机可以通过更改运营商的APN接入点解决这个问题。

fang97
fang977 楼6 年前

这个问题依然存在,在联通4G状态下几乎是秒开,在移动4G下,打开要十几秒。搞的我很郁闷。测试手机:小米5Splus. VIVO。