こんにちは私はスマートフォンとデスクトップブラウザの両方で実行できるWebappを持っています。私はiPhoneのような小さなデバイスで好奇心をそそる行動を期待していましたが、私は現時点でテストを実行できるAndroidデバイスであるAndroid Galaxy Tabでうまくいくと自信がありました。今、私は物事をテストするためにギャラクシータブ上でブラウザの束をインストールしている一部のモバイルブラウザではHTML5 Canvasのパフォーマンスに問題があります。
:
- Androidのネイティブブラウザ
- アンドロイド で
- のFirefoxのAndroid ため
用クローム私が使ったデスクトップ
- Firefoxの
- Google Chromeの
、最終的に私がしてテストするためのiPhoneを持っています。
ウェブサイトでは、ピクセルやスプライトをベースにした描画にHTML5キャンバスが使用されています。ファンシー変換、フィルタやエフェクトはほとんどなく、単純なパスやポリゴンです。タッチイベントを聞いて、適切に再描画するにはを使用します。
全体的に、このアプリケーションはデスクトップブラウザ上でうまく動作し、iOS Safari(iPhone)やAndroid搭載のFirefoxでも大きく動作します。しかし、アンドロイドネイティブブラウザは私にトラブルを与えています。私は、javascriptが応答しないときに画面が赤くなるように設定しています。画面に触れるとほぼ常にフラッシュします。
Android Native AppとHTML5の既知の問題があるかどうかは疑問です。ネイティブブラウザの存在しない名前のため、これに関するGoogleの情報にはかなり難しい。 私に詳しいアイデアはどこにありますか?ネイティブAndroidブラウザの遅れを引き起こす可能性のあるアイデアはありますか?
問題についていくつかのアイデアがあります
のiOSは、したがって、私は、タイムアウトベースの代替に置き換え、requestAnimationFrameのをサポートしていません。 Androidのネイティブブラウザでその置換を使用すると、問題は解決しません。
私はかなり定期的にAJAX(google clojure xhrio)を使用してサーバーからデータを取得します。データ取得のコールバックがイベントパイプラインを詰まらせることがありますか?
アプリケーションの速度を低下させるログコンソールメッセージ(console.log)はありますか? DOMツリーや何か関連するものを通してブラウザを再起動させることができますか?
私はあなたの実際の質問に答えることはできませんが、コンソールを使用すると、使用方法によってはかなりの量のメモリを消費する可能性があります。特に大きなオブジェクトをロギングしたり、非常に頻繁にロギングしている場合は特にそうです。 – idbehold