К сожалению, вы не можете визуализировать WebView, кроме как в основном потоке.Это основное ограничение класса.Я бы начал исследовать, почему ваша страница так долго рендерилась.Моя догадка: Javascript или плагин.
Я обычно хотел бы начать с использования Safari, чтобы увидеть, есть ли у него такие же проблемы.Вы можете перетащить HTML-файл в Safari, чтобы легко его загрузить.Если Safari показывает ту же проблему, вы можете использовать инструменты разработки Safari для ее профилирования.(Предпочтения, Дополнительно, Показать меню «Разработка» в строке меню.)
Если у Safari нет проблем, это на самом деле хорошо, потому что это означает, что ваша проблема определенно решаема (если Safari может это сделать, вам следуетудалось добиться того же).Вот несколько вещей, которые стоит попробовать:
- Инструменты.Попробуйте посмотреть, что WebView занимает свое время.Сосредоточьтесь сначала на «все образцы» для основного потока.Обычно это приводит к зависанию приложения.
- Упрощение.Попробуйте убрать что-то из веб-просмотра, особенно javascript, пока не найдете фрагмент, вызывающий проблему.
- Реализуйте методы
WebResourceLoadDelegate
, чтобы увидеть, какой фрагмент вызывает проблему.Информация, представленная этим, может вводить в заблуждение, поскольку она связана с тем, когда что-то загружается, а не с тем, когда они отображаются, но это может дать представление о том, где на странице вы зависаете.