收藏
回答

屏幕锁屏 定时器就停了

屏幕锁屏 定时器就停了,这时程序还没死      怎么就停了呢

回答关注问题邀请回答
收藏

1 个回答

  • 席子麥
    席子麥
    2018-07-02

    定时器没有暂停吧,只是页面渲染暂停而已。

    2018-07-02
    赞同
    回复 5
    • 小熊
      小熊
      2018-07-03

      测试是暂停的(我猜测)  因为我定义了一个变量累加     当我锁屏时  这个变量就不累加了  你说的停止渲染  那是wxss 里  我在js 里的变量不涉及渲染吧 我又没有调用setData    你试试            这个定时器本来就没有暂停方法 只有开始和结束      难道是定时器销毁了      因为我再次唤起页面的时候 他会走onHide  和onShow  方法  我在onShow 方法里又开启了定时器

      /**

        * 生命周期函数--监听页面显示

        */

      onShow: function () {

      console.log('--监听页面显示');

      // 定时调用

      timer = setInterval(function () {

      userReciteTime += 1;

      console.log("//循环间隔 单位ms============" + userReciteTime)

      }, 1000) //循环间隔 单位ms

      },

      /**

        * 生命周期函数--监听页面隐藏

        */

      onHide: function () {

      console.log('--监听页面隐藏');

      clearInterval(timer);

      },


      2018-07-03
      回复
    • 席子麥
      席子麥
      2018-07-03回复小熊

      定时器是停了。

      2018-07-03
      回复
    • 小熊
      小熊
      2018-07-03回复席子麥

      我个人认为是定时器销毁 了 假设没有销毁  当我再次调用这个方法开启时

      // 定时调用

      timer = setInterval( function () {

      userReciteTime +=  1 ;

      console.log( "//循环间隔 单位ms============" + userReciteTime)

      },  1000 )  //循环间隔 单位ms


      他会重新创建一个

      当我clearInterval(timer);   他只会销毁一个  还存有一个定时器    相当于我创建了2 个定时器 只销毁了一个           这种假设是针对锁屏情况

      2018-07-03
      回复
    • 席子麥
      席子麥
      2018-07-03回复小熊

      锁屏不执行onhide方法,屏幕唤醒的时候才会执行onhide方法。

      2018-07-03
      回复
    • 小熊
      小熊
      2018-07-03回复席子麥

      是的     但是他走了onHIde  又会接着走onShow

      2018-07-03
      回复
登录 后发表内容