井
  • 发布:2022-08-16 10:29
  • 更新:2022-08-17 11:57
  • 阅读:1017

【报Bug】uniapp在H5平台,App.onHide中写settimeout,不会执行,会一直等到App.onShow之后才会执行onHide中的settimeout内的逻辑

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 19044.1889

浏览器平台: QQ内置浏览器

浏览器版本: 12.8.1.1039

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3041820220630001

示例代码:
// App.vue  
onShow(() => {  
  console.log('App Show');  
});  
onHide(() => {  
  console.log('App Hide');  
  setTimeout(() => {  
    console.log('1.5s after onHide');  
  }, 1500);  
});

微信浏览器打印是正常的

App Hide  
1.5s after onHide  
App Show

QQ浏览器如果切换标签是正常的

App Hide  
1.5s after onHide  
App Show

QQ浏览器如果切换到后台回到桌面,再切到前台来就有问题了,Via是同样的

App Hide  
App Show  
1.5s after onHide

操作步骤:
  • QQ浏览器打开页面开着vconsole
  • QQ浏览器整个APP切到后台回到桌面
  • QQ浏览器整个APP再切到前台
  • 查看vconsole打印

预期结果:

全部都正常的

App Hide  
1.5s after onHide  
App Show

实际结果:
App Hide  
App Show  
1.5s after onHide

bug描述:

uniapp在H5平台,App.onHide中写的settimeout内的代码,不会立即执行,会一直等到App.onShow之后才会执行onHide中的settimeout内的逻辑

2022-08-16 10:29 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

切换到后台,定时器会被浏览器减慢甚至暂停直至恢复前台。

要回复问题请先登录注册