WebViewClient.onRenderProcessGone () не вызывается при сбое WebView в первую очередь - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть приложение, которое может иметь несколько WebView одновременно. Время от времени приложение вылетает с собственной ошибкой

SIGTRAP: Trace/breakpoint trap
        at 0x7a587dd494(/data/app/com.android.chrome-7kzKsZs3wawWfQ1TQ0h58w==/base.apk!/lib/arm64-v8a/libmonochrome.so:25011348)

Мне удалось отследить ее до проблемы рендерера WebView, которую я могу смоделировать, загрузив неисправный javascript как webView.evaluateJavascript("javascript:(function() { txt = \"a\"; while(1){ txt += \"a\"; } })();", null);. Сейчас я пытаюсь выяснить, какая страница вызывает проблему в производственном приложении. Для этого я переопределяю WebViewClient.onRenderProcessGone() и хочу войти в загруженный URL в этот момент. У меня проблема в том, что, поскольку у меня есть несколько WebView, я не могу быть уверен, что сначала вызывается onRenderProcessGone() на том, который фактически вызвал cra sh.

Из WebViewClient выполните c: Multiple WebView instances may be associated with a single render process. onRenderProcessGone will be called for each WebView that was affected.

Мой вопрос, в WebViewClient.onRenderProcessGone(), как я могу узнать, какой WebView / WebViewClient вызвал cra sh?

1 Ответ

0 голосов
/ 23 апреля 2020

На этот вопрос ответили в группе Google android -webview-dev . К сожалению, в настоящее время нет способа узнать, какой веб-просмотр упал.

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