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);
时间:原作者:0个回答

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);
}
原作者:
...