收藏
回答

微信打开网页,快速切换点击操作播放audio,会把微信玩死?

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS 11.2.6 iphone 6s plus 6.6.6


首先,抱歉,我不知道这个贴适不适合发在这里,因为这只是一个普通的网页,不是小程序也不是小游戏。


----------- 分割线 ------------


微信h5,疯狂点击切换操作,直接把微信玩卡死。


这个问题我已经很久之前就遇过,最近又有几个玩家反馈,经过我们自己测试,偶尔复现,的确如此。


最关键的是,卡死以后,强退微信可以,但是再次打开此网页的时候,会特别特别卡,甚至有时候 js 加载都会加载不了。


必须重启iphone,再打开微信,一切就恢复ok。


这个情况出现是有概率性的,目前用户报错的机型,主要是iphone6, 6plus , 6s, 6s plus 。我们使用iphone 6s plus测试,复现过

发一个我们目前测试的链接:http://m.primedu.cn/wx-game/linklinklook/index.php (手机微信环境下,请来回快速切换点击1,和2 两个图片)






我怀疑过是不是声音导致的,接着,我做了一下测试。

去掉< audio > 标签以后,无声状态,确实没发生干死微信的情况,但是不敢说100%一定就是这个原因,因为本身出现干死微信的情况就是偶发的。


加上< audio > 标签以后,有声状态,来回多次切换,确实会发生干死微信的情况。


另外测试发现,只要卡死过一次,后面再次进入页面,一定还会卡死。

只有必须强制再次重启手机才能避免下次再次进入不会干死微信。




这个问题纠结了我很久,麻烦官方团队如果有空,帮忙看看,谢谢了~~~

最后一次编辑于  2018-04-18
回答关注问题邀请回答
收藏

5 个回答

  • LastLeaf
    LastLeaf
    2018-04-19

    感谢反馈,我们查一下。

    2018-04-19
    有用
    回复
  • Duo
    Duo
    2018-04-19

    刚刚又测试了一波,好像是这个this._domAudio.load()方法有问题(之前每次点击都会load一次)。


    现在使用:

    this._domAudio.pause();

    this._domAudio.currentTime = 0;

    this._domAudio.play();


    这样解决了一个问题,播放声音的时候,没有滞后很严重了。


    但是会不会干死微信,暂时不清楚,没有 ios 11.2.6 系统的机器了。昨天同事的机器升级到ios11.3了。


    2018-04-19
    有用
    回复
  • Duo
    Duo
    2018-04-19

    非常感谢官方团队重视这个问题,非常非常的期待你们的结果。

    2018-04-19
    有用
    回复
  • Duo
    Duo
    2018-04-18

    刚刚又测试了一波,新的发现:


    如果使用传统的dom标签的网页,<audio >并不会卡死整个微信。

    而我上面那个页面是基于<canvas >开发的页面,快速来回播放<audio > 就是会干死整个微信。

    2018-04-18
    有用
    回复
  • Duo
    Duo
    2018-04-18

    前面发现,只要卡死过一次,后面强退微信(不强重启手机),再次进入页面,一定还会卡死微信。


    刚刚又测试,把所有的< audio > 标签去掉,再次进入页面,没有强制重启手机的情形下,也不会卡死,看样子,真的是< audio >的问题啊。


    2018-04-18
    有用
    回复
登录 后发表内容