onHide后定时器不运行
@林超 @黄思程 @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的时间