如何防止Android Xoom上WebView内部画布的性能下降?

如何防止Android Xoom上WebView内部画布的性能下降?,android,canvas,touch,android-webview,xoom,Android,Canvas,Touch,Android Webview,Xoom,我一直在尝试在WebView中使用画布来捕捉一幅小画。在Chrome或非常简单的测试页面上进行测试,画布的性能正常。我的意思是,如果我在500像素宽的画布上拖动手指,我会看到60-100个touchMove事件 这个基于画布的实用程序作为jQuery插件实现。当我在更大的web应用程序中使用插件时,当我在500像素宽的画布上执行相同的手指拖动时,画布只捕获大约20个事件 与一个简单的测试页面相比,我对什么可能会导致我的应用程序性能下降有很多想法,但到目前为止还没有定论。Xoom测试设备上的内存和

我一直在尝试在WebView中使用画布来捕捉一幅小画。在Chrome或非常简单的测试页面上进行测试,画布的性能正常。我的意思是,如果我在500像素宽的画布上拖动手指,我会看到60-100个touchMove事件

这个基于画布的实用程序作为jQuery插件实现。当我在更大的web应用程序中使用插件时,当我在500像素宽的画布上执行相同的手指拖动时,画布只捕获大约20个事件

与一个简单的测试页面相比,我对什么可能会导致我的应用程序性能下降有很多想法,但到目前为止还没有定论。Xoom测试设备上的内存和CPU使用情况似乎很好

以下是一些症状,但尚未找到最终解决方案:

04-12 10:47:58.037: WARN/webview(13316): Miss a drag as we are waiting for WebCore's response for touch down.
settings.setRenderPriority(WebSettings.RenderPriority.HIGH); //applying high render priority is in place
我在简单的测试页面场景和在更大的web应用程序中使用插件时会看到类似的消息。这些消息需要更有力的绘图才能在简单的测试页面中重现。只要在WebView内部的画布上快速绘制运动,您可能会看到它,至少在与Xoom 1类似的硬件上是这样。偶尔也会有关于过时touchMove事件的消息,尽管它们不太常见

可能会或可能不会导致问题或解决方案的一些附加细节:

04-12 10:47:58.037: WARN/webview(13316): Miss a drag as we are waiting for WebCore's response for touch down.
settings.setRenderPriority(WebSettings.RenderPriority.HIGH); //applying high render priority is in place
该应用程序是脱机应用程序,因此必须启用缓存。 应用程序中有10-20K的JavaScript,不包括库,但我没有理由怀疑这会减慢touchMove事件到WebView内部画布的传递

我见过其他人在WebView内部的画布上发表的帖子,尽管他们正在开发比这个简单的绘图应用程序更密集的应用程序。显然,我需要更快地完成更多的活动,或者我所有的曲线看起来都像直线


有人知道touchMove事件降级的确切原因吗?或者现在是时候放弃Android WebView中的画布了?

找到了答案吗?即使是我也面临着同样的问题。如果你找到了答案,请分享。plzzI无法解决这个问题,因此我们将签名图委托给Android视图,并将其作为图像传递回WebView。关于如何开始使用原生Android UI组件构建签名捕获,请参阅本文:嘿,詹姆斯,谢谢回复。我必须告诉你们,你们所创造的确实是一个好的。我会自己试试这样的。