Android上下文切换上的javascript settimeout

时间:2014-12-06 11:29:40

标签: javascript android html html5 mobile

在javasscript中,我重复使用setTimeout来重绘我的HTML5画布。

function doDraw() {
   drawOnCanvas();
   setTimeout(doDraw, 20);
 }

我在Android浏览器上遇到问题。 (也许在iOS上,我还没有测试过......): 1.一切顺利 我按下了android" home"按钮并做其他事情 3.我回到浏览器。 4. 问题:未安排setTimeout再次执行。

所以我的屏幕刷新循环停止了,游戏已经死了"。

编辑:现在好了,我继续调查。原来setTimeout仍然有效。真正的问题是画布从屏幕上消失了,我画的没有显示出来。画布只是空白。

2 个答案:

答案 0 :(得分:1)

对于渲染循环,始终建议使用requestAnimationFrame,因为它确切地知道何时安排回调,即完成浏览器重绘的最佳时隙。 通过使用setTimeout,您将跳过帧,这将导致严重的jankyy动画

就问题而言,您可以重新启动文档加载循环

window.onload = function(){doDraw();}

我希望有效。

答案 1 :(得分:0)

现在,我继续调查。原来setTimeout仍然有效。真正的问题是画布从屏幕上消失了,我画的没有显示出来。画布只是空白。我现在会尝试解决这个问题。 (requestAnimationFrame无论如何都不起作用。)

我正在结束这个问题,因为我问的是错误的问题