android - android增强 Web view性能( 应该与本机浏览器的性能相同)

  显示原文与译文双语对照的内容
134 4

在Web浏览器中加载Web站点比在Android浏览器中执行相同操作要慢得多。 我可以看到,所有的文件都已经加载到我的Apache日志中,直到页面显示在 web,控件中。 在本机浏览器中打开同一页将导致立即显示。 看起来呈现是有缺陷的。

要获得与在本机浏览器中加载页面相同的性能,我们必须应用哪些浏览器设置?

我们当前的设置:


browserset.setLoadsImagesAutomatically(true);


browserset.setJavaScriptEnabled(true);


browserset.setDatabaseEnabled(true);


browserset.setDatabasePath("data/data/com.xxx/databases");


browserset.setDomStorageEnabled(true);


browserset.setRenderPriority(WebSettings.RenderPriority.HIGH);


browserset.setSupportZoom(false);


browserset.setUserAgentString( browserset.getUserAgentString() +" (XY ClientApp)" );


browserset.setAllowFileAccess(true);


browserset.setSavePassword(false);


browserset.setSupportMultipleWindows(false);


browserset.setAppCacheEnabled(true);


browserset.setAppCachePath("");


browserset.setAppCacheMaxSize(5*1024*1024);



时间: 原作者:

118 1

我遇到了类似的问题,经过一些调试之后,native浏览器和 web view浏览器似乎正在使用不同的缓存。

这里代码可以用于禁用 web view缓存,使我对( 虽然牺牲了不缓存)的浏览速度更快。 请注意,它使用 private api,因这里在将来版本中使用代码将会破坏代码:


try


{


 Method m = CacheManager.class.getDeclaredMethod("setCacheDisabled", boolean.class);


 m.setAccessible(true);


 m.invoke(null, true);


}


catch (Throwable e)


{


 Log.i("myapp","Reflection failed", e);


}



...