2017-06-30 5 views
0

Ich habe eine Anwendung geschrieben, die aus mehreren lokalen HTML (Text und Bilder) besteht. Ich fand einige verwandte Frage, aber das war nicht der Punkt, das ist mein Problem:Webview lädt lokale HTML langsam

Wenn ich diese Dateien bis zum WebView laden, erscheinen sie nicht reibungslos. Es scheint, dass es einige Verzögerungen geben würde, bevor der Inhalt geladen wird.

Dies ist ein Stück von meinem Code:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_ss); 
    WebView webView = (WebView)findViewById(R.id.web); 
    webView.loadUrl("file:///android_asset/2.2.html"); 

Wie kann ich dies zu verhindern?

+0

zeigen Bitte Code für activity_ss – phil652

+0

gibt es nur ein WebView innerhalb von Scroll @ phil652 –

Antwort

0

Ich denke, die folgenden am besten funktioniert:

if (Build.VERSION.SDK_INT >= 19) { 
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
}  
else { 
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
} 

Android 19 Chromium Motor hat für WebView. Ich denke, es funktioniert besser mit Hardwarebeschleunigung.

Für weitere Informationen Android 4.4 KitKat, the browser and the Chrome WebView

Hardware Acceleration auch tun ist die trick.You es in verschiedenen Ebenen in Ihrer Anwendung

Anwendungsebene

<application android:hardwareAccelerated="true" ...> 

Aktivitätslevel

können
<application android:hardwareAccelerated="true"> 
<activity ... /> 
<activity android:hardwareAccelerated="false" /> 
</application> 

Fensterebene

getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, 
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 

Ansicht Ebene

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

Hope this arbeiten ..

+0

das nicht funktioniert, legte ich eine Textansicht neben WebView, also wenn die Handlung itivity wird geladen, erste Textansicht wird angezeigt und nach einigen Millisec erscheint WebView. –