phonegap 3.0+でパッケージングしたsencha touchボタンをクリックして切り替えアニメーションを1秒近く遅延させ、インタフェースを点滅させるソリューションについて

902 ワード


Androidのwebviewはハードウェア加速のサポートが理想的ではないようですが、ハードウェア加速をオンにする場合、css 3というハードウェア加速を呼び出す必要があるスタイルはhtml 5のwebappを大幅に遅らせ、htcの一部の携帯電話ではハードウェア加速をオンにすることでフラッシュスクリーンなどの現象を引き起こすこともあります.
phonegap 3.0までは、Android Mainifestをユーザー自身で構成する.xmlファイルは、気づかなかったかもしれませんが、phonegap 3.0+以降、phonegapプロジェクトの作成はphonegapのcommand lineコマンドによって生成されます.生成されたプロジェクトでは、phonegapがプロジェクトのデフォルトに対して強制ハードウェア加速をオンにします.この場合、sencha touchのプロジェクトでのアニメーション付きページ切り替え時にシステムのgpuを呼び出して計算してアニメーションを実行します.このときの切り替えアニメーションは比較的滑らかになりますが、それに伴って耐えられない遅延が発生します.
上記の問題を解決する1つの方法は、強制ハードウェアの加速をオフにし、phonegapが作成するプロジェクトのAndroidMainfestを開くことである.xml、アプリケーションとmainfestラベルに属性があることがわかります
  
android:hardwareAccelerated="true"

この2つのラベルのプロパティをfalseに変更するか、削除します.
このとき、システムはcpuでシミュレーションアニメーションを計算し、前の遅延が消えていることに気づきます.
4コア以上のcpuでは性能の向上が顕著ですが、一部のアニメーションの切り替えは以前よりスムーズではなく、非常に顕著ではありません.
実際の状況に応じてこの属性を設定することができます