收藏
回答

安卓机在页面上下重复滑动造成定时器暂停现象

安卓机在页面上下重复滑动造成定时器暂停, 随便写一个定时器都会出现,而且页面上下滑动时间越长这个暂停时间也会越长,中间滑动时间也没有被计算进去,甚至严重的会造成定时器直接停止,必须要再次上下滑动页面才能是定时器再次起作用。随便写一个定时器都会出现

最后一次编辑于  2018-12-06
回答关注问题邀请回答
收藏

9 个回答

  • it's fish
    it's fish
    01-26

    直接进入页面

        滑动不影响定时器


    点击分享卡片进入页面

        滑动时定时器会暂停,等待一段时间后会自动恢复

        如果滑动结束立刻点击一下页面,定时器会自动恢复


    所以你们底层到底做了些什么操作?

    01-26
    赞同 1
    回复 1
    • 泽
      04-12

      能不能做一个分享进入,先从普通页面,再到分享页面来解决这个问题呢


      04-12
      回复
  • 漂流瓶
    漂流瓶
    02-19

    大神们, 安卓机页面滑动计时器暂停现象解决了吗?求指导


    02-19
    赞同
    回复
  • -repick
    -repick
    01-11

    把计时器写在组件里面可以兼容安卓,我们是这样解决的

    01-11
    赞同
    回复 3
    • Lonely city
      Lonely city
      01-11

      能详细说一下吗?谢谢

      01-11
      回复
    • -repick
      -repick
      01-11

      文字表达有限,希望可以理解

      01-11
      回复
    • 泽
      04-12回复-repick

      我的就写在组件中,然并卵

      04-12
      回复
  • 安颜如夏
    安颜如夏
    2018-12-25

    老铁,解决了吗?这个问题

    2018-12-25
    赞同
    回复 1
    • 诗无邪
      诗无邪
      01-02

       

       别想这些有的没的了,滑动页面时候清掉定时器,滑动结束在启动,安卓下这样做,ios不用,不过有毛用,体验贼差

      01-02
      回复
  • refra1n
    refra1n
    2018-12-20

    才遇到这个问题,做倒计时的时候。。 最后用setTimeOut进行递归处理模拟setInterVal就没问题了。

    2018-12-20
    赞同
    回复 6
    • Lonely city
      Lonely city
      2018-12-20

      我用的也是递归,但在定时器操作页面时,同时上下滑动还是会造成定时器停止,

      2018-12-20
      回复
    • refra1n
      refra1n
      2018-12-20回复Lonely city

      我这测了几台机器没问题了,1S一次。

      2018-12-20
      回复
    • Lonely city
      Lonely city
      2018-12-20回复refra1n

      我是通过setTimou递归改变页面的一些样式,400毫秒一次,如果这个时候滑动页面,定时器就会走的很慢

      2018-12-20
      回复
    • refra1n
      refra1n
      2018-12-20回复Lonely city

      那可能和开销程度有关。

      2018-12-20
      回复
    • refra1n
      refra1n
      2018-12-20回复refra1n

      如果你那个定时器动画不是一直存在的话,可以在定时器开启的时候,给Page设个overflow:hidden禁止滑动,等动画结束再放开。

      2018-12-20
      回复
    查看更多(1)
  • 🎩大魔术师🕊
    🎩大魔术师🕊
    2018-12-12

    求解答,商城里做秒杀也是出现了这个问题。求高手/官方人员解答啊~

    2018-12-12
    赞同
    回复 3
    • 诗无邪
      诗无邪
      2018-12-13

      官方给出的回答是上下滑动是对页面数据渲染过度频繁,安卓机优先处理滑动操作,数据渲染时的定时器单线程被阻塞,目前可通过滑动页面时清除定时器,也就是定时器这时候不能动了,滑动结束从新启动定时器,安卓机就会体验贼差,差评。ios未发现这种卡顿情况

      2018-12-13
      回复
    • 🎩大魔术师🕊
      🎩大魔术师🕊
      2018-12-13

      是的,目前发现ios正常,部分安卓机时好时坏。那暂时就是没办法解决了...

      2018-12-13
      回复
    • 安安
      安安
      05-05

      我也是做商城秒杀遇到这个问题的,有没有什么好的解决办法?

      05-05
      回复
  • 微盟
    微盟
    2018-12-06

    因为页面滚动监听事件可能会造成频繁的setData导致页面渲染卡顿,

    并且setTimeout和setInterval的机制并不是严格按照设定时间执行的,而是在单线程最后才开始执行

    所以这个时间会有误差,频繁触发setData会导致线程堵塞,就出现了楼主所遇到的情况

    建议在页面滚动或onHide时,清除定时器, 在页面恢复正常时重新初始化定时器

    2018-12-06
    赞同
    回复 2
    • 诗无邪
      诗无邪
      2018-12-06

      如何打断用户点击左上角的返回按钮事件

      2018-12-06
      回复
    • 微盟
      微盟
      2018-12-06

      打不断的, 如果是为了页面销毁时清楚定时器, 可以使用生命周期onUnload方法

      2018-12-06
      回复
  • 管凯旋
    管凯旋
    2018-12-06

    这个问题我也遇到过,不光这样,锁屏一会再打开跑的比兔子还快

    2018-12-06
    赞同
    回复
  • 诗无邪
    诗无邪
    2018-12-06

    哪个大佬知道这个bug解决办法

    2018-12-06
    赞同
    回复