WebView, заставка и производительность - PullRequest
1 голос
/ 27 мая 2011

У меня есть WebView внутри Activity, которая загружает контент из сети. Когда WebView начинает загружаться, я запускаю другое действие в качестве заставки, которое я скрываю, когда WebView завершает загрузку.

При тестировании я обнаружил, что загрузка одной и той же веб-страницы занимает больше времени, когда я добавляю заставку, чем когда я этого не делаю. Поэтому я предполагаю, что есть сетевой поток, приоритет которого падает, когда действие, содержащее WebView, переходит в фоновый режим. Как мне управлять этим потоком, чтобы быстро поддерживать WebView?

Я нашел метод setRenderPriority класса WebSettings, я не уверен, что он делает, и я не знаю, что такое «поток рендеринга», о котором он говорит. Я попробовал:

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

но это никак не повлияло на время загрузки.

Спасибо всем, кто может мне помочь.

1 Ответ

2 голосов
/ 27 мая 2011

Я не отвечаю прямо на ваш вопрос, а скорее предлагаю альтернативу ... запуск другого действия для простого предоставления заставки может быть довольно дорогим. Вместо этого вы можете рассмотреть возможность расширения макета, содержащего ваш WebView, для размещения RelativeLayout на уровне WebView и сделать ваш WebView дочерним по отношению к этому макету. Кроме того, вы можете поместить ImageView (или все, что вам нужно для всплеска) в том же RelativeLayout, и вы можете установить его видимость невидимым, если вы не хотите, чтобы он отображался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...