我正在用一个WebView封装一个Android应用程序,它需要渲染一个HTML5画布。它适用于我的所有设备,除了一个。我的Galaxy S4(4.2.2)正在闪烁画布,然后很快变成灰色。下面是它的制造logcat的消息:blockWebkitDraw是什么意思,以及如何解决它?
d/GestureDetector(20071):[表面触摸事件] mSweepDown假, mLRSDCnt:-1 mTouchCnt:7 mFalseSizeCnt:0
V/WebViewInputDispatcher(20071) :blockWebkitDraw
V/WebViewInputDispatcher(20071):blockWebkitDraw lockedfalse
d /网页视图(20071):blockWebkitViewMessage =假
我点击一个按钮,然后画布应该呈现。这就是为什么第一个日志项目用于表面触摸事件。它可以在我的S4上运行,当我直接使用webkit浏览器对我的应用程序进行ping操作时,但是当自己使用或者使用Cordova进行打包时,会给我那个错误。我添加了两个屏幕截图来进一步显示问题。第一个是正确渲染,第二个是问题。
的Android 2.3.6:
安卓4.2.2:
所以,回到我的问题。这个消息是怎么回事?有没有人对如何正确渲染画布有任何建议?
您是否尝试过几个不同的网页,看看它是什么网页,是造成这还是每个网页? –
这意味着webkit阻塞绘制线程单元调度事件完成。 – 2013-10-03 18:11:13
只有在Android 4.2及更高版本的设备上启用硬件加速才会发生。有没有办法阻止它没有禁用加速?阻塞事物会导致动画和实时触摸事件的问题,但没有加速度时,事情往往会不太顺畅。 – Josh