【问题标题】:Timer freezes on scroll in Android 7 Webview Ionic App计时器在 Android 7 Webview Ionic App 中滚动时冻结
【发布时间】:2018-02-05 15:51:47
【问题描述】:

我有一个 Ionic1 应用程序,我在一个视图上使用了一个离子定时器,在同一视图上它的下方是一个带有项目列表的离子滚动元素。

示例代码:

<ion-content scroll="false">
  <ion-timer class="timer" duration="duration" ispause="isPause" opts="ionTimerOpts""></ion-timer>
  <ion-scroll>
    //list content here...
  </ion-scroll>
</ion-content>

计时器以 $interval 刷新并倒计时变量。

在 Android 7 上,Google 将 Webview 更改为 Chrome,因此我遇到了一个奇怪的错误。当用户滚动列表时,计时器会冻结几秒钟,然后再次倒计时。这不会发生在每个滚动上,但经常发生,所以我想这与系统资源管理有关。在较旧的 Android 系统和 iOS 上,不会发生这种冻结。

所以我正在寻求帮助以找到解决方案。我想我可能会更改 Timer 以计算到设定的 timeStamp 的距离,这样计时器会及时保持正确,但 ui 冻结仍然存在,不应该是这种情况。

编辑:

看来,chrome 浏览器引擎将间隔的优先级设置得非常低,这就是为什么间隔对于计时器来说不够准确,我的解决方案是更改计时器代码,以使用递归函数模拟间隔使用超时。

【问题讨论】:

    标签: android ionic-framework webview timer android-7.0-nougat


    【解决方案1】:

    看来,chrome 浏览器引擎将间隔的优先级设置得非常低,这就是为什么间隔对于计时器来说不够准确,我的解决方案是更改计时器代码,以使用递归函数模拟间隔使用超时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多