загрузка длинного webview более 500 КБ - PullRequest
2 голосов
/ 12 декабря 2011

У меня есть веб-просмотр и строка размером более 500 КБ, которая отображает страницу. У кого-нибудь есть идея уменьшить время загрузки веб-просмотра? Способ, которым я загружаюсь, является синхронным, было бы лучше, если бы я загружал это асинхронно. Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 12 декабря 2011

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

  1. Создать асинхронную задачу, передав ей объект веб-представления
  2. Поместите в него Thread.sleep(<time you want to wait>), указав время ожидания, затем выполните loadData(<data>)
  3. Когда вы загружаете ваши представления, вызовите execute для ваших асинхронных задач, и он выполнитsleep затем загружается в фоновом режиме, в то время как другие представления заполнены.

Это действительно то, что вы хотите сделать?

ОБНОВЛЕНО

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

Если страница имеет смысл (не выглядитбеспорядок) без веб-представления вы можете загрузить его в отдельный поток (AsyncTask или создать исполняемый класс и вызвать задачу runOnUiThread()), обновив это представление, когда оно будет готово.Одним из вариантов может быть загрузка из потока и придание потоку низкого приоритета, так что он, скорее всего, будет ожидать отображения представлений, а затем начнет интенсивную обработку html.

Вы также можете посмотреть, как разбить html наотдельные представления, встраивание динамического содержимого в стандартные представления Android или запуск активности браузера и его отображение там

...