【发布时间】:2019-10-27 12:56:51
【问题描述】:
我正在将一个 Electron 应用程序从传统的渲染器 + webview 架构移植到使用 BrowserView 对象的应用程序。该应用程序使用一些BrowserWindows 在所有可用监视器中显示webview 全屏。渲染器进程基本上保持 index.html 和 webview 大小为 100%。
我对渲染器进程和 BrowserViews 有点困惑。
使用新方法,我只是将preload 脚本注入到BrowserView 构造函数中,而不会在BrowserWindow 本身上加载任何页面:
browserViewOptions = {
webPreferences: {
preload: (__dirname + "/preload.js"),
partition: "persist:ns",
nodeIntegration: false,
plugins: false
}
};
- 这是什么渲染器进程?这是
webviews曾经的传统渲染过程吗?还是BrowserViews有自己的渲染器进程?- 如果是传统方式,我在
BrowserWindow也加载页面的情况下是否共享?
- 如果是传统方式,我在
-
我没有将页面加载到
BrowserWindow是否重要?我的意思是,如果我没有在BrowserWindow中加载页面(只是创建一个窗口以将BrowserView附加到它),是否还有另一个运行空页面的 Chromium 进程?- 如果是,如果我只对
BrowserView感兴趣,可以防止这种情况发生吗?
- 如果是,如果我只对
- 如果我在
BrowserWindow上保留内容并偶尔隐藏BrowserViews以显示它们,是否存在“过度绘制”问题?
【问题讨论】: