Android WebView 問題:空白渲染、無回應的樣式變更和斷斷續續的動畫
Android WebView 經常表現不穩定,包括顯示空白頁面、忽略CSS 發生變化,並呈現出斷斷續續的動畫。這些問題可能會令人沮喪並影響使用者體驗。幸運的是,這些問題有解決方案,我們將在本次討論中探討。
解決方案 1:啟用硬體加速
從 Android 4.4 (KitKat) 開始,硬體加速對於提高 WebView 效能至關重要。在AndroidManifest.xml 中,透過在
<code class="xml"><application ... android:hardwareAccelerated="true"></code>
解決方案2:強制重繪
WebView 類別中的靜態最終布林變數允許不斷重繪視圖。這可以解決樣式更改無響應和空白渲染問題。但是,使用此方法會持續耗盡電池電量。
如下所示擴充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>
指示PhoneGap 使用此自訂WebView 類別:
<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中文網其他相關文章!