收藏
回答

websocket close多次整个小程序卡死,路由不可切换 ,滚动也不加载数据

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug websocket api 微信安卓客户端 7.0.17 2.12.0

页面建立了websocket长链接, 在onHide和onUnload里都进行了websocket断链接操作,然后频繁的进页面,返回上一页,基本操作两三次整个小程序就卡死了,不能进行任何操作,点击切换底部tab,菜单会选中,但是页面一直白屏loading, 卡死之前加载出来的页面可以滚动,但是滚动到底部不会加载数据,点击列表某项查看详情(navigator 标签导航),路由无法切换,下拉刷新也不请求数据,影响了很多用户,希望能尽快解决,长链接这个不好提供可复现的代码,目前只发现安卓华为手机有这个问题

最后一次编辑于  2020-08-01
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2020-08-03

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-08-03
    有用
    回复
  • 一朵浪花
    一朵浪花
    01-12

    问下楼主问题解决了么,我小程序中也有im,现在的情况是小程序偶然打开会卡死,数据请求都是正常的,路由切换也正常,但是ui绑定失效了,渲染失效。程序没有任何报错

    01-12
    有用
    回复
  • worm
    worm
    2020-08-01

    你按我说的操作,onHide onUnload两个钩子里都close,我用的不是wx.closeSocket(),用的websocket实例socketTask.close(),按理应该是一样的

    2020-08-01
    有用
    回复
  • Admin²⁰²¹
    Admin²⁰²¹
    2020-08-01
        onUnload() {
          this.bClose = true;
          this.endSetInter();
          if (this.socketOpen) {
            console.log("关闭socket!");
            wx.closeSocket();
          }
        }
    


    华为p30pro测试10来次,无楼主说的问题。

    只在onUnload判断当前是链接成功状态后断连,onLoad里openSocket操作

    仅供参考

    2020-08-01
    有用
    回复 3
    • worm
      worm
      2020-08-01
      不行的话我等会给你写个demo你换成自己的地址
      2020-08-01
      回复
    • worm
      worm
      2020-08-01
      我用了stomp
      2020-08-01
      回复
    • Admin²⁰²¹
      Admin²⁰²¹
      2020-08-01回复worm
      哦,我没用stomp。不知道是否跟这个有关,stomp我不了解。
      2020-08-01
      回复
登录 后发表内容
问题标签