§ Проблема. Crash МБ на экране ТЦ § Определение причины и поиск решения § Android WebView и Chromium § Chromium. Обработка рендеринга § Решение проблемы. GeckoView и Safe Browsing § Итоги План 2
§ Вызов onRenderProcessGone() не выполнялся при крэше WebView § Поведение не соответствует вызову § Приложение падает с ANR § Аналогичное поведение при открытии url в браузере Chome Поиск решения. Обработка завершения процесса рендеринга 7
§ RenderViewHost отвечает за создание и взаимодействие с RenderView § Предоставляет высокоуровневый API (Загрузка страниц, определение гранц экрана и т. д.) § Взаимодействует с RenderView через межпроцессные сообщения Обработка рендеринга. RenderViewHost 10 RenderViewHost RenderView IPC Messages API
§ Вызывается ~GpuProcessHost() § Выполняется проверка на завершение процесса § Выполняется проверка статуса завершения процесса Завершение рендеринга. GpuProcessHost 11
Завершение рендеринга. Crash процесса 16 § Крэш процесса рендеринга приводит к крэшу приложения. Внештатная ошибка не обрабатывается, пишется только лог об ошибке § Корректное завершение процесса рендеринга системой сопровождается отправкой сигнала, которое отслеживается в Android Web View
Завершение рендеринга. Crash процесса 17 § Крэш процесса рендеринга приводит к крэшу приложения. Внештатная ошибка не обрабатывается, пишется только лог об ошибке § Корректное завершение процесса рендеринга системой сопровождается отправкой сигнала, которое отслеживается в Android Web View
§ Mozilla Gecko View как решение проблемы § Рендеринг Android Web View в отдельном процессе исключает крэш исходного приложения § На версиях Android Web View > 74 виджет 2Gis работает корректно Итоги 20