Android 上下文切换中的 javascript settimeout

标签 javascript android html mobile

在 JavaScript 中,我反复使用 setTimeout 来重绘 HTML5 Canvas 。

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

我在 Android 浏览器上遇到问题。 (也许在 iOS 上,我还没有测试过......): 1.一切正常 2.我按下android“home”按钮并执行其他操作 3. 我回到浏览器。 4. 问题:setTimeout 没有安排再次执行。

所以我的屏幕刷新循环停止了,游戏就“死了”。

编辑:现在,我继续调查。结果 setTimeout 仍然有效。真正的问题是 Canvas 从屏幕上消失,我绘制的任何内容都没有显示。 Canvas 只是空白。

最佳答案

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

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

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

我希望这能起作用。

关于Android 上下文切换中的 javascript settimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331187/

相关文章:

javascript - 下拉联系表单 - 表单向下动画后更改按钮上的背景图像

java - Android ksoap 中的安全 header

android - Wifi 扫描结果未广播

javascript - 在 Node.js/Express 中为 Sequelize.Create 触发两次 Ajax POST 请求

javascript - 如何使用 koa2 运行简单的应用程序?

Android简单应用开发问题

javascript - DOMDocument -> 无法从 href 提取结果

javascript - 模拟 head HTML 导入

javascript - 如何在jquery中测试用户给出的生日日期?

javascript - 如何以编程方式更改 jquerymobile 页面并将数据发送到该页面?