Подтвердить что ты не робот

Как улучшить время загрузки веб-просмотра

У меня есть URL-адрес, который можно загрузить в webview. Если я открываю веб-просмотр через браузер, это занимает меньше времени, но если я загружу URL-адрес в webview, это займет больше времени. Кроме того, если мне нужно повторно использовать одну и ту же страницу веб-просмотра с тем же URL-адресом на другом экране, тогда я не смогу это сделать, потому что, если я использую один и тот же объект веб-просмотра на разных экранах, тогда также потребуется время для загрузки URL-адреса.

Как заставить мой веб-браузер мгновенно загружать URL-адрес?

4b9b3361

Ответ 1

Вы можете использовать плагины YSlow или Google PageLoad для своего браузера, чтобы получить конкретные советы о том, как повысить загрузку страницы и ускорить вашу страницу.

Ответ 2

Вы можете попробовать другой режим кэширования: 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

Ответ 3

По умолчанию 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)); 

Ответ 4

установить высокий приоритет рендеринга для вашего веб-представления, может решить проблему до некоторой степени что-то вроде этого

webview.getSettings().setRenderPriority(RenderPriority.HIGH);