WebView2使用与Edge和Chrome浏览器相同的chromium进程模型。当您创建WebView2时,它与CoreWebView2Environment关联,您可以显式使用CoreWebView2Environment,或者如果您正在使用WebView2类,则还可以依赖默认CoreWebView2Environment。 如果两个WebView2共享同一个CoreWebView2Environment,那么它们将共享一些进程。至少浏览器进程和一些实用程序进程(如GPU进程和网络进程)将被共享。 呈现器进程是否共享取决于chromium进程模型的启发式规则,通常如果两个文档的URI来源匹配,那么呈现器进程将被共享。 您可以阅读更多关于the process model in WebView2 docs的信息。
1条答案
按热度按时间von4xj4u1#
1.确保所有WebView2使用相同的环境。
1.确保WebView2中所有URI的来源相同。
1.环境
WebView2使用与Edge和Chrome浏览器相同的chromium进程模型。当您创建WebView2时,它与CoreWebView2Environment关联,您可以显式使用CoreWebView2Environment,或者如果您正在使用WebView2类,则还可以依赖默认CoreWebView2Environment。
如果两个WebView2共享同一个CoreWebView2Environment,那么它们将共享一些进程。至少浏览器进程和一些实用程序进程(如GPU进程和网络进程)将被共享。
呈现器进程是否共享取决于chromium进程模型的启发式规则,通常如果两个文档的URI来源匹配,那么呈现器进程将被共享。
您可以阅读更多关于the process model in WebView2 docs的信息。
2.同源
若要共享呈现器进程,您还需要WebView2s中的URI具有相同的来源。但是,http和https URI以外的其他URI(如文件URI),或者如果您使用NavigateToString或自定义URI方案,则可能会出现问题。您可以尝试使用CoreWebView2.SetVirtualHostNameToLocalFolderMapping创建实际Map到本地文件的虚拟https URI。