认识Electron中的主进程和渲染进程

Electron 中,有两种进程:主进程(Main Process)和渲染进程(Renderer Process)。

主进程

主进程是 Electron 应用程序的控制中心,负责管理应用程序的生命周期、处理系统级别的操作和事件。它有以下几个常见特点:

  • 是 Electron 应用程序的控制中心,运行在 Node.js 环境中

  • 主进程的入口点是一个 JavaScript 文件,是 package.json 中 main 配置项对象的脚本文件

  • 一个应用中只有一个主进程

  • 可以访问底层的系统资源和操作系统的功能

  • 控制应用的生命周期

  • 创建渲染进程(可以创建多个)


渲染进程

渲染进程是在 Electron 应用程序中用于呈现用户界面的进程。每个渲染进程都运行在独立的浏览器上下文中,类似于 Chrome 浏览器中的每个标签页。渲染进程使用 Chromium 的渲染引擎来解析和显示网页内容,并通过 HTML、CSS 和 JavaScript 构建用户界面。通常,每个 Electron 窗口都对应一个独立的渲染进程。渲染进程使用 Chrome 的沙箱技术进行隔离,以确保安全性和稳定性。它的特点是:

  • 负责界面渲染的进程

  • 使用 Chromium 的渲染引擎来解析和显示网页内容

  • 一个应用可以有多个渲染进程,且各个渲染进程之间相互独立

  • 配置后,可以通过 NodeJS API 操作系统底层资源

Electron中,使用 new BrowserWindow()来创建一个窗口,每个窗口都对应一个独立的渲染进程

// 创建窗口
const win = new BrowserWindow({
 width: 800,
 height: 600
})
// 窗口中加载 index.html
win.loadFile('index.html')

调用 new BrowserWindow() 仅仅是创建了一个新的窗口对象,并不会立即创建渲染进程。渲染进程的创建和管理是由 Electron 的主进程负责的。当调用 new BrowserWindow() 后,主进程会根据需要动态地创建渲染进程,并将窗口分配给对应的渲染进程来进行呈现。


参考文档:https://www.electronjs.org/zh/docs/latest/tutorial/process-model


微信 遇到疑问可加微信进行反映