WebKit内部计时器管理有点奇怪,特别是在iOS中.它们以NSDefaultRunLoopMode模式注册,因此,例如,在UI中滚动时,Javascript事件不会触发,但它们也不会聚合,就像常规计时器(NSTimer)一样.
要回答您的问题,当应用程序进程暂停时,计时器也会暂停,因此在进程暂停时它们不会触发.一旦该过程因任何原因(用户打开应用程序,后台获取等)而恢复,计时器将恢复运行,并将恢复到最后一次打勾的相对点.
因此,如果您每隔10秒设置一个计时器,并在t + 1秒关闭应用程序,然后在t + 35秒再次打开它,计时器将在5秒后启动; 你不会追溯到t + 10,t + 20和t + 30秒的嘀嗒声.
注意:这是UIWebView/ WebKitLegacy /的基于进程内模型的计时器管理; 我对WKWebView/ WebKit2/如何处理它们并不十分熟悉.
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |