@林超 @黄思程 @LastLeaf @官方 小程序在切换到后台(即点击右上角或者左滑等操作退出小程序)后是否执行已经存在的定时器setTimeout和setInterval. 经测试,在开发工具上正常,但是在真机上,setInterval不执行,setTimeout也不执行,但是在再次onShow后立马执行,时间差与定时器的时间不一致。所以需要官方解释下,onHide后小程序的后台运行机制问题。
下面的案例:
onHide: function () { console.log('onHide已执行'); let now = Date.now(); console.log('当前时间为', now); setTimeout(() => { let _now = Date.now(); console.log('当前时间为', _now); console.log('前后时间差为', (_now - now) / 1000, 's'); }, 10000)}, |
本来应该是10s后执行,但是打印出来的结果是33秒,也就是从onHide到onShow的时间

https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000aeee85e0e709a42b65c1965bc00&highline=%E6%89%8B%E6%9C%BA%E9%94%81%E5%B1%8F
谢谢提醒,只是想要官方确认一下猜测,谢谢啦