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

Nam*_*man 29 javascript google-chrome web-inspector android-webview

我们有一个混合的Android应用程序.我试图从一个来回导航WebView到一个Native上下文.使用chrome://inspect/#devices我注意到检查的设备有多个实例,detached而其中一个实例attached将以chrome显示.参考SO-28254614,现在我还没有开发WebView,但是根据我对应用程序的了解,WebView不是使用Cordova设计的,而是JS中的.我的问题是:

  • 为什么我们在Chrome上看到这些分离的设备?
  • 这可能是Android WebView漏洞的可能吗?

Sun*_*pta 5

因此,这些Web检查员的工作方式是他们使用RemoteDebug协议.

该协议定义了交换的各种消息和命令,以便您"检查"您的页面.

检查员的一个实例一次只能连接到一个客户端.因此,假设您正在切换Web视图和本机上下文,您基本上会为每个新的上下文切换生成新的Web视图.

这表明先前打开的webview现在是"孤儿"并且用于所有实际目的detached.

您可以通过调用destroy()webview让垃圾收集器知道不再需要来尝试通知VM Web浏览器不再使用.

希望这可以更深入地了解幕后发生的事情.

  • 我目前的应用程序也是混合型,这个答案是对的钱.您描述的情况由Sunny完美总结.据我所知,这是完全正常的行为,我会说你问题的答案_这可能是Android WebView漏洞的可能性?_不是. (2认同)