我有一个可以在webview中加载的URL。如果我通过浏览器打开webview,则花费的时间更少,但如果我在webview中加载URL则需要更多时间。此外,如果我必须在另一个屏幕中重复使用具有相同URL的相同webview页面,那么我无法做到这一点,因为如果我在不同的屏幕中使用相同的webview对象,那么加载URL也需要时间。
如何让我的网页视图立即加载网址?
答案 0 :(得分:1)
您可以在浏览器中使用YSlow或Google PageLoad插件,以获取有关如何改善页面加载和加快页面速度的具体提示。
答案 1 :(得分:0)
您可以尝试其他缓存模式:http://developer.android.com/reference/android/webkit/WebSettings.html#setCacheMode%28int%29
或者,如果页面没有改变,只需使用loadDataWithBaseURL: http://developer.android.com/reference/android/webkit/WebView.html#loadDataWithBaseURL%28java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String%29
答案 2 :(得分:0)
默认情况下,WebView不提供类似浏览器的小部件 启用JavaScript和网页错误将被忽略。
这里我粘贴了zirco-browser
的一小部分代码settings.setJavaScriptEnabled(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_ENABLE_JAVASCRIPT, true));
settings.setLoadsImagesAutomatically(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_ENABLE_IMAGES, true));
settings.setUseWideViewPort(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_USE_WIDE_VIEWPORT, true));
settings.setLoadWithOverviewMode(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_LOAD_WITH_OVERVIEW, false));
settings.setSaveFormData(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_ENABLE_FORM_DATA, true));
settings.setSavePassword(Controller.getInstance().getPreferences().getBoolean(Constants.PREFERENCES_BROWSER_ENABLE_PASSWORDS, true));
settings.setDefaultZoom(ZoomDensity.valueOf(Controller.getInstance().getPreferences().getString(Constants.PREFERENCES_DEFAULT_ZOOM_LEVEL, ZoomDensity.MEDIUM.toString())));
settings.setUserAgentString(Controller.getInstance().getPreferences().getString(Constants.PREFERENCES_BROWSER_USER_AGENT, Constants.USER_AGENT_DEFAULT));
答案 3 :(得分:0)
为您的Web视图设置渲染优先级高可以在一定程度上解决问题 它有点像这样
webview.getSettings().setRenderPriority(RenderPriority.HIGH);