Работает ли Web Worker в основном потоке android или в отдельном потоке? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть старое приложение для Android, которое использует WebChromeClient

открытый класс MyWebViewClient расширяет WebChromeClient

для запуска веб-страницы на Android в качествеприменение . Первоначально предполагалось, что дисплеи для приложений (браузера, ios и android) будут идентичны .Как обычно происходит, со временем приложение усложняется (5 лет), а локальная веб-база данных используется для хранения состояния для более быстрого запуска.

В последней версии ОС Android Oreo мое приложение получает предупреждение ANR.Я понимаю, что пришло время изменить дизайн, но у меня очень плотный график. Если я перенесу код инициализации (веб-базу данных, которая использует обратные вызовы (обещания), ...) в веб-работника html 5, будет ли этот код выполняться в отдельном потоке в приложении Android (отличном от основного потока пользовательского интерфейса?) Это решит ANR?Или я должен полностью изменить дизайн?

Работает ли Web Worker в основном потоке пользовательского интерфейса Android или в отдельном потоке?Кстати, как насчет последней версии IOS, веб-работники работают в основном или отдельном потоке?

Заранее благодарен за ваш вклад.

1 Ответ

0 голосов
/ 18 октября 2018

Веб-просмотр не запускается в потоке пользовательского интерфейса Android.Проблема не имела никакого отношения к веб-представлению вообще.Вместо этого ANR - известное изменение Android Oreo.И я смог это исправить, следуя этому сообщению

...