私はWebViewを使用してAndroidアプリをラッピングしており、HTML5キャンバスをレンダリングする必要があります。それは私のすべてのデバイスで完璧に動作します。 My 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は
D/WebViewの(20071)をlockedfalse:blockWebkitViewMessage =偽
ボタンをクリックすると、キャンバスがレンダリングされます。そのため、最初のログ項目はサーフェスタッチイベント用です。私のアプリケーションでWebkitブラウザを使って直接pingを実行するとS4で動作しますが、自分でラッピングするかCordovaを使用するとエラーになります。問題をさらに表示するために2つのスクリーンショットを追加しました。最初のものが正しく表示され、2番目が問題になります。アンドロイド2.3.6
:
アンドロイド:4.2.2:だから、戻って私の質問に
いくつかの異なるWebページを試しましたが、これを引き起こしているWebページが何であるか、それともすべてのWebページですか? –
Webkitでブロックされた描画スレッドunitlディスパッチイベントが終了したことを意味します。 –
Android 4.2以降のデバイスでハードウェアアクセラレーションが有効になっている場合にのみ発生します。無効にすることなくブロックしないようにする方法はありますか?ブロッキングは、アニメーションやリアルタイムのタッチイベントに問題を引き起こしますが、加速がないとスムーズに実行されません。 – Josh