2017-04-17 3 views
0

Ich habe eine Android-Anwendung, die in erster Linie die Webansicht verwendet, um Inhalte zu rendern. Der Webcode macht Anfragen an die Android-App, die eine SQLite-Datenbank und eine Reihe von Daten enthält, die sie von meinem Server synchronisiert.Android Webview Anfragen an die App langsam

Ich habe eine Menge Profiling gemacht, und es gibt eine Menge Zeit, die völlig unerklärt ist. Hier ist ein Zeitplan für ein unsere Anfragen:

enter image description here

Der erste große Block von Sachen passieren, ist die Anforderung selbst einige Daten aus der Datenbank der Anwendung zu laden. Der letzte Block ist unser Webcode, der die Antwort von der App empfängt und alles rendert. Das mittlere Zeug ist nur einige Hintergrundaufgaben in der Webansicht.

Hier scheint eine Menge toter Raum zu sein. Ich habe alles in der Android-App profiliert, was passiert, wenn eine Anfrage gemacht wird, einschließlich der Abfrage selbst, und es ist eine winzige Menge an Zeit, es gibt Hunderte von Millisekunden, die nicht berücksichtigt wurden.

Gibt es in diesem Zusammenhang bekannte Leistungsprobleme mit Android?

Diese App ist nur für Build 21 +.

Antwort

0

Verwendung dieses:

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

manifest.xml unten hinzufügen:

in Anwendungsebene:

<application android:hardwareAccelerated="true"> 

in Activity level : 

<activity android:hardwareAccelerated="false" /> 
+0

oder dies versuchen: if (Build.VERSION.SDK_INT> = 11) { webview.setLayerType (View.LAYER_TYPE_SOFTWARE, null); } –

+0

Hat anscheinend keinen Unterschied machen :( Wir verwenden 21+ btw – Slims

+0

Check hier: http: //stackoverflow.com/questions/5899087/android-webview-localstorage rq = 1 –