Android WebView の問題: 空白のレンダリング、応答しないスタイルの変更、途切れ途切れのアニメーション
Android WebView は、空白のページを表示したり、無視したりするなど、不安定に動作することがよくあります。 CSS が変更され、アニメーションが途切れます。これらの問題はイライラを引き起こし、ユーザー エクスペリエンスを妨げる可能性があります。幸いなことに、この説明で説明するように、これらの問題には解決策があります。
解決策 1: ハードウェア アクセラレーションを有効にする
Android 4.4 (KitKat) 以降、ハードウェア高速化は、WebView のパフォーマンスを向上させるために非常に重要です。 AndroidManifest.xml の
<code class="xml"><application ... android:hardwareAccelerated="true"></code>
解決策 2: 再描画を強制する
WebView クラスの静的なfinal boolean変数を使用すると、ビューを継続的に再描画できます。これにより、スタイルの変更が応答しなくなったり、空白のレンダリングの問題が解決される可能性があります。ただし、このメソッドを使用するとバッテリーが消耗し続けます。
以下に示すように WebView クラスを拡張し、onDraw() メソッドをオーバーライドします。
<code class="java">import org.apache.cordova.CordovaWebView; import android.content.Context; import android.graphics.Canvas; public class MyWebView extends CordovaWebView { public static final String TAG = "MyWebView"; public MyWebView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // Warning! This will cause the WebView to continuously be redrawn // and will drain the devices battery while the view is displayed! invalidate(); } }</code>
このカスタム WebView クラスを使用するように PhoneGap に指示します。
<code class="java">public void init(){ CordovaWebView webView = new MyWebView(MainActivity.this); super.init(webView, new CordovaWebViewClient(this, webView), new CordovaChromeClient(this, webView)); }</code>
解決策 3: CrossWalk WebView
Android バージョン 4.4 以降の場合、CrossWalk は優れたパフォーマンスと安定性を備えたドロップイン WebView の代替品を提供します。詳細については、crosswalk-project.org を参照してください。
追加のヒント:
以上が## Android WebView の動作が非常に悪いのはなぜですか?空白のページ、反応しないスタイル、途切れ途切れのアニメーション - どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。