屏幕休眠时的JavaScript setInterval延迟
JavaScript setInterval delay when screen sleeps
我正在Tizen开发一个计时器应用程序,目前我正在使用setInterval功能来安排下一次更新带有数字的文本:
chrono : function() {
SecondsChrono += 1;
},
setInterval(chrono(), 1000);
但当设备的屏幕处于"睡眠模式"时,计时器就会延迟。我想知道是否有人经历过这种情况,你是否有办法避免这种情况,或者你是否有任何建议让我用另一种方式实现这种计时器。
您应该只使用setInterval
来更新屏幕,要查看自计时器首次启动以来已经过了多少时间,您应该执行以下操作:
var SCREEN_UPDATE_REFRESH_RATE= 1000;
var startTime= (new Date()).getTime();
var updateScreen= function() {
var currentTime= (new Date()).getTime();
var timeEllapsed = currentTime - startTime; //this value is in milliseconds
document.write("Ellapesed time in seconds: " timeEllapsed / 1000);
setTimeout(updateScreen, SCREEN_UPDATE_REFRESH_RATE);
}
updateScreen();
在这种情况下,使用setTimeout
比使用setInterval
更好。两者的区别在于,setInterval
计划函数每X毫秒永远执行一次,而setTimeout计划执行一次,然后再也不执行,在这种情况下,函数会设置一个新的超时,使更新过程永远保持下去。如果用户系统过载,则可以将各种setInterval回调链接在一起,从而冻结用户浏览器。有关详细信息,请参阅此。
相关文章:
- 如何在Javascript中延迟setInterval
- 如何更新setInterval延迟
- Javascript setInterval-速率或延迟
- 使用 setInterval 启动两个函数,并让它们立即启动,没有延迟
- 为什么javascript setTimeout延迟不起作用,setInterval太慢
- 带超时延迟的渐弱股票行情器(setTimeout内的setInterval)
- 屏幕休眠时的JavaScript setInterval延迟
- java script setInterval设置延迟时间
- 给setInterval或setTimeout传递一个分数延迟是否安全?
- 如何延迟setInterval - Java脚本
- 如何在setInterval循环中设置延迟
- setInterval()中的函数执行无延迟
- SetInterval函数不会在Javascript代码中创建延迟
- 在setInterval函数内部使用时,Jquery延迟是不一致的
- setInterval延迟不准确
- 是否有window.setInterval的最大延迟限制?
- 第一次执行setInterval函数时不要延迟
- setInterval:通过点击按钮改变延迟时出现故障
- jQuery setInterval从实时延迟
- Firefox中的Javascript setinterval()延迟