我在项目中使用SignalR库,该库完全取决于android webview。
在Android P和Q中,我可以使用webview建立连接,但是突然,它将使我的应用程序崩溃,并给我以下错误:
[ERROR:bad_message.cc(27)] Terminating renderer for bad IPC message, reason 95
因此,当我尝试调试此问题时,我发现系统会自动终止Webview进程,并且失去了SignalR的连接。
Android系统终止渲染过程。
E/chromium: [ERROR:aw_browser_terminator.cc(113)] Renderer process (10381) crash detected (code -1).
E/chromium: [ERROR:aw_browser_terminator.cc(81)] Render process (10381) kill (OOM or update) wasn't handed by all associated webviews, killing application.
以下是Kotlin中的Webview发布方法的代码:
webView.settings.javaScriptEnabled = true
webView.settings.allowUniversalAccessFromFileURLs = true
webView.post {
webView.evaluateJavascript(script, { msg ->
callback?.invoke(msg)
})
}.