Введение в загрузку веб-страниц на мобильном
Когда мы загружаем веб-страницу, мы не отправляем url-запрос на загрузку всего контента, а помимо основного URL-запроса идет множество других запросов, таких как JS, CSS, картинки и другие файлы, каждый из которых независимые Некоторые запросы по-прежнему являются последовательными, и эти файлы ресурсов необходимо загрузить перед рендерингом.
Мобильный терминал использует webveiw для загрузки статус-кво
Использование веб-просмотра на мобильном терминале влияет на взаимодействие с пользователем, главным образом потому, что время загрузки слишком велико (отправляется больше запросов), что приводит к слишком долгому отображению пустых страниц, что отражается в следующем процессе загрузки веб-просмотра — долго время загрузки, в основном включающее следующие три шага:
- Инициализация веб-просмотра
- Скачать HTML и разобрать его
- Скачивание и рендеринг ресурсов css и js
Как сократить время, затрачиваемое на эти три шага, стало предметом исследования.
Процесс загрузки WebView
В качестве примера возьмем страницу консультации сообщества.В случае хороших условий сети 4G случайным образом выбираются пять наборов данных, и получается следующая цифра.Среднее время запроса html составляет 506 мс, а время запроса js и css составляет 783 мс, не включая время запроса изображения.
Пример запроса: например, я использую веб-просмотр для загрузки запросаТакже 5plus.com/post?post SI…
Из потока запросов захвата chales вы можете видеть, что при загрузке URL-адреса веб-просмотра после первого запроса html посредством синтаксического анализа загружаются некоторые ресурсы, такие как css и jss, В то же время вы также можете видеть, что веб-просмотр загружается страница, кроме основного HTML В дополнение к URL css и js, 7 запросов отправляется для запросов css и js.Это все еще менее сложная страница веб-просмотра.Если она слишком сложна, количество запросов может быть воображаемый. Как уменьшить запросы css и js — это тоже один из способов оптимизации стороны H5. Для клиента скорость загрузки webveiw также можно оптимизировать, предварительно разместив некоторые ресурсы js и css локально.
Как WebView загружает HTML
Через сервер вернуть в виде url
Это также традиционный метод загрузки.Недостатком является то, что при плохой сети будет длинный белый экран, а пользовательский интерфейс не очень хорош.
Загрузите локальный HTML-шаблон и вставьте контент локально
Таким образом, основное внимание уделяется большинству исследований компании, которые могут реализовывать секунды веб-просмотра, такие как страница сведений о новостях заголовков, подходящая для страниц, которые не уделяют особого внимания изменениям в реальном времени, почти без белого экрана, могут достичь исходного опыта, принцип заключается в том, чтобы заранее загрузить требуемый шаблон JS, CSS, HTML, заранее отобразить WebView, просто открыть, клиент вводит данные контента, что значительно повышает скорость WebView, это также является предметом этого исследования.
Загружать строки с тегами напрямую (загружать как форматированный текст)
Это решение подходит для простого и чистого пользовательского интерфейса дисплея, который прост для сравнения цен и имеет относительно простые функции.
Статус страницы консультаций сообщества Dewu
В настоящее время на странице колонки консультаций сообщества верхняя часть страницы использует WebView, а нижняя часть — собственная страница комментариев. Способ загрузки WebView также является традиционным способом загрузки через URL-адрес. Пользовательский интерфейс не очень хорошо, и для открытия страницы в среднем требуется около 2 секунд. Чтобы улучшить взаимодействие с пользователем и сократить время загрузки веб-просмотра, была исследована оптимизация веб-просмотра.
Наконец, путем исследования и сравнения программ клиент решил изучить и загрузить локальный HTML-шаблон и загрузить страницу WebView путем внедрения содержимого.
Поскольку, когда список загружается на странице консультации сообщества, данные содержимого для рендеринга были получены веб-просмотром, поэтому при нажатии на страницу «Сведения об консультации» данные содержимого также являются локальными, что эквивалентно снизить количество запросов Отправлено веб-просмотром. Данные CSS и шаблон HTML предоставляются локально заранее и загружены заранее через протокол файла. Когда веб-просмотр открывается, содержимое напрямую вводится в локальный HTML-шаблон, который значительно сохраняет время WebView Запрос и загрузка.
Схема финального запроса на загрузку WebView показана на рисунке выше, что экономит время на промежуточные запросы html, css и js.За счет загрузки автономных локальных методов скорость значительно повышается, а время на локальную загрузку html , css и js незначительны.
Логика скачивания пакета в автономном режиме:
Не удалось скопировать загружаемый контент
Способ получения введенных данных контента:
- Если в списке уже есть данные контента, нет необходимости отправлять запрос на вход в веб-просмотр, вы можете напрямую вводить данные контента в локальный шаблон html.
- Если в списке нет данных о содержимом, войдите в веб-просмотр и запросите разные URL-адреса для получения данных о содержимом в соответствии с другим содержимым, а затем введите локальный шаблон html.
Эффект сравнения до и после использования условий сети Chalect моделирования 4G в виде DEMO:
До оптимизации
📎Колонка консультаций перед оптимизацией 4G.mp4
Оптимизировано
📎Колонка консультаций после оптимизации 4G.mp4
Сравнение данных до и после оптимизации, что касается демонстрации
Сравнение времени между загрузкой веб-просмотра и окончанием рендеринга выглядит следующим образом.
Из данных в вышеприведенной показателе можно четко видеть, что веб-просмотр увеличился примерно на 98% от нагрузки до конца рендеринга, а эффект оптимизации все еще очевиден.
Далее давайте уточним время запроса каждого этапа веб-просмотра:
время запроса сети ресурса css, js
время сетевого запроса html
Так как шаблоны css, js и html могут быть размещены локально заранее в виде офлайн-ресурсов, можно сэкономить время на запрос ресурсов, что значительно сократит время в процессе загрузки webview.
\
И время загрузки изображений также было значительно улучшено.Соответствующие данные приведены ниже, и скорость улучшения также очень объективна.
резюме
Что касается технологии, то оптимизация бесконечна и уже в пути. Она все еще находится в стадии демонстрации. На следующем этапе мы будем реализовывать план в соответствии с планом, и отдадим приоритет оптимизации страницы сведений о колонка консультаций сообщества.Подождем и посмотрим, какой будет конкретный эффект.