Web view loading local html page slowly in Android

Hi, I upload a local html file after handling some javascript warnings on webchromeclient, But after I call the webview loadUrl method, my local html page loads very slowly, it waits about 20 seconds to load.

Here is my code below:

@Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { // TODO Auto-generated method stub result.confirm(); if (message.contains(GeneralConstants.ALERT_LOGIN_TIMUSER)) { String s[] = message.split(";"); //Set ldap user view.loadUrl("file:///android_asset/mainMenu.html"); return true; } 

Thanks for any advice.

+3
source share
1 answer

try this code snippet for better performance

  AssetManager mgr = getContext().getAssets(); try { InputStream in = mgr.open(FileName,AssetManager.ACCESS_BUFFER); String sHTML = streamToString(in); in.close(); //display this html in the browser WebView w = (WebView) findViewById(R.id.webview); w.getSettings().setDefaultZoom(ZoomDensity.FAR); w.loadDataWithBaseURL("file:///android_asset/", sHTML, "text/html", "utf-8", null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } public static String StreamToString(InputStream in) throws IOException { if(in == null) { return ""; } Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { } return writer.toString(); } 
+7
source

Source: https://habr.com/ru/post/1445005/


All Articles