@林超 @黄思程 @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
谢谢提醒,只是想要官方确认一下猜测,谢谢啦