javascript - 在混合 android 应用程序中导航时在 chrome 设备中看到多个分离的 webview 实例

标签 javascript google-chrome android-webview web-inspector

我们有一个混合 android 应用程序。我正在尝试从 WebView 来回导航到 Native 上下文。使用 chrome://inspect/#devices 我注意到被检查设备的多个实例是 detached 而其中一个将被 attached 作为以 Chrome 显示。 引用SO-28254614 ,现在我还没有开发 WebView,但据我所知,我们的应用程序 WebView 不是使用 Cordova 设计的,而是在 JS 中。 我的问题是:

  • 为什么我们会在 chrome 上看到这些分离的设备?
  • 这是否可能是 Android WebView 中的泄漏?

最佳答案

所以这些网络检查员的工作方式是他们使用 RemoteDebug Protocol .

此协议(protocol)定义了可交换的各种消息和命令,以便您“检查”您的页面。

检查器的一个实例一次只能连接到一个客户端。因此,假设您在 web View 和 native 上下文之间来回切换,您基本上会为每个新的上下文切换生成新的 web View 。

这表明之前打开的 WebView 现在是“孤立的”并且出于所有实际目的分离

您可以尝试通过在 webview 上调用 destroy() 来通知 VM webview 不再被使用,让垃圾收集器知道它不再需要。

希望这能让人们更深入地了解幕后发生的事情。

关于javascript - 在混合 android 应用程序中导航时在 chrome 设备中看到多个分离的 webview 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102318/

相关文章:

javascript - 使用函数参数选择angularjs变量

javascript - 通过lambda函数向SQS发送消息时如何插入

jquery - Chrome 中的子菜单定位错误

javascript - 预加载的图像再次加载

android - 将 webview 嵌入到另一个 View 中

javascript - 在 pdfmake 中使用 dataUrl 时出现无效图像错误

javascript - 限制 Formik FormData 中的重复

google-chrome - CSS3多重背景?

android-webview - ESP32 httpd : Header fields are too long for the server to interpret

android - 在 WebView 中显示来自 Google Docs 的文档