1***@qq.com
1***@qq.com
  • 发布:2024-10-18 14:01
  • 更新:2024-10-19 11:44
  • 阅读:191

【bug】}uni-app打包的程序,在安卓平板息屏时,websocket推送上来的消息不会处理,开启屏幕后,会缓慢进行处理

分类:uni-app

业务场景:从生产机台上面通过websocket拿到实时的生产产量。
问题出现:如果是长时间屏幕开启的情况是没有问题的,但是如果中间把平板息屏了,再让屏幕亮起来,一大堆数据会涌上来。比如是用进度条表示,机器的生产进度,那么开屏后,这个进度条会快速涌满,直到当前实际的生产进度。
期望解决:当屏幕息屏的时候,断开websocket的连接,当屏幕开启的时候,重新建立websocket连接,直接拿到最新的生产数据即可

2024-10-18 14:01 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

感谢反馈,这个看着不是 uniapp 的问题,是安卓环境为了省电这样做的。你在 app.vue 里监听

    onShow: function() {  
            console.log('App Show')  
        },  
        onHide: function() {  
            console.log('App Hide')  
        }

观察下,锁屏和解锁之后是否会正常触发,从这两个生命周期里做判断和兼容

  • 1***@qq.com (作者)

    onShow和onHide是写在和vue生命周期一样的地方吗,好像看起来没有生效。是在当前项目的app.vue文件里面

    2024-10-19 11:18

  • DCloud_UNI_OttoJi

    回复 1***@qq.com: 对,和 data 同级。我让你观察下打印主动进入后台和被动锁屏截屏是否有反应,有区别,把你的结论说一下

    2024-10-19 11:34

  • 1***@qq.com (作者)

    回复 DCloud_UNI_OttoJi: 沒有反应,控制台没有看到信息输出。我在平板端开了VConsole。

    2024-10-19 11:42

  • 1***@qq.com (作者)

    回复 DCloud_UNI_OttoJi: 没事了,onShow和onHide是有效的,与 uniapp 没有关系,我再自己研究一下

    2024-10-19 11:52

  • 1***@qq.com (作者)

    回复 DCloud_UNI_OttoJi: 我用的其实是webview方案,那这种情况下,onShow和onHide能调用webview里面的函数吗

    2024-10-19 14:24

要回复问题请先登录注册