嗨,我有一个应该能够在智能手机和桌面浏览器上运行的 Web 应用程序。虽然我期待在像 Iphone 这样的小型设备上会出现一些奇怪的行为,但我非常有信心它会在 Android Galaxy Tab 上运行良好,这是我目前可以运行测试的 Android 设备。
现在我在 Galaxy Tab 上安装了一堆浏览器来测试:
- 安卓原生浏览器
- 安卓版 Chrome
- 火狐安卓版
在我用过的桌面上
- 火狐
- 谷歌浏览器
最后我有一个 Iphone 来测试。
该网站使用 HTML5 画布进行基于像素和精灵的绘图,没有花哨的转换、过滤器或效果,主要是简单的路径和多边形。我确实会听触摸事件并requestAnimationFrame
用于适当的重绘。
总体而言,该应用程序在桌面浏览器上运行良好,在 iOS Safari (iPhone) 和 Firefox-on-Android 上也运行良好。然而,Androids Native Browser 给我带来了麻烦。我已经设置了它,以便当 javascript 没有响应时屏幕会变成红色,并且在触摸屏幕时它几乎总是会闪烁。
所以我想知道Android Native App和HTML5是否存在任何已知问题。由于本机浏览器的名称不存在,因此很难通过谷歌搜索相关信息。对我有什么想法可以在哪里获得更多信息?有什么想法可能导致本机 Android 浏览器滞后?
关于这个问题有几个想法:
iOS 不支持 requestAnimationFrame,因此我将其替换为基于超时的替换。如果我在 Android 的本机浏览器上使用该替换,问题仍然存在。
我经常使用 AJAX (google clojure xhrio) 从服务器检索数据。难道是数据检索回调阻塞了我的事件管道?
是否已知日志控制台消息 (console.log) 会减慢应用程序的速度?他们可以触发浏览器重新运行 DOM 树或任何相关的东西吗?