【发布时间】: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