上一篇 electron 渲染進(jìn)程中使用node模塊
下一篇 electron進(jìn)程間通訊(IPC模塊通訊)
目標(biāo):
了解electron主進(jìn)程和渲染進(jìn)程
electron 進(jìn)程圖
image.png
主進(jìn)程
什么是electron主進(jìn)程?
- electron 運行
package.json
的main
腳本的進(jìn)程被稱作主進(jìn)程
electron主進(jìn)程的相關(guān)/作用
- 每個electron只有一個主進(jìn)程
- 用于管理原生GUI, 典型的窗口(BrowserWindow、Tray、Dock、Menu)
- 主進(jìn)程用于創(chuàng)建渲染進(jìn)程
- 主進(jìn)程控制應(yīng)用的生命周期
簡單的說,electron項目的主進(jìn)程只有一個, 主進(jìn)程的執(zhí)行代碼需要寫到main.js中, 起到統(tǒng)籌全局的作用
渲染進(jìn)程
什么是electron渲染進(jìn)程?
- electron 展示web頁面的進(jìn)程被稱作主進(jìn)程
electron主進(jìn)程的相關(guān)/作用
- 通過Node.js、Electron提供的API與系統(tǒng)底層打交道
- 一個electron可以有多個渲染進(jìn)程
主進(jìn)程 API
- app:控制應(yīng)用的事件生命周期
- autoUpdater:自動更新
- BrowserView:創(chuàng)建和控制視圖
- BrowserWindow:創(chuàng)建和控制窗口
- contentTracing:跟蹤并確定性能問題
- dialog:創(chuàng)建和控制本機(jī)系統(tǒng)對話框
- globalShortcut:監(jiān)聽系統(tǒng)快捷鍵
- inAppPurchase:(MAC專用)Mac App Store 的應(yīng)用內(nèi)購買
- ipcMain:從主模塊到渲染模塊(ipcRenderer)的異步通信
- Menu:創(chuàng)建遠(yuǎn)程應(yīng)用以及上下文菜單
- MenuItem:在菜單中添加菜單項
- net:發(fā)出 HTTP或 HTTPS請求
- netLog:記錄網(wǎng)絡(luò)事件
- Notification:創(chuàng)建桌面通知
- powerMonitor:監(jiān)視電源狀態(tài)
- powerSaveBlocker:組織系統(tǒng)自動進(jìn)入省電模式
- protocol:注冊自定義協(xié)議并攔截基于協(xié)議的請求
- screen:檢索有關(guān)屏幕大小、顯示器、光標(biāo)位置等的信息
- session:管理瀏覽器會話、cookie、緩存、代理設(shè)置等
- systemPreferences:獲取系統(tǒng)配置信息
- TouchBar:(MAC專用)配置 TouchBar布局
- Tray:添加圖標(biāo)和上下文菜單到系統(tǒng)通知區(qū)
- webContents:渲染以及控制 web頁面
渲染進(jìn)程 API
- ipcRenderer:從渲染器進(jìn)程到主進(jìn)程的異步通信
- remote:在渲染進(jìn)程中使用主進(jìn)程模塊
- webFrame:自定義渲染當(dāng)前網(wǎng)頁
- desktopCapturer:通過[navigator.mediaDevices.getUserMedia] API,可以訪問那些用于從桌面上捕獲音頻和視頻的媒體源信息
通用 API
- clipboard:在系統(tǒng)剪貼板上執(zhí)行復(fù)制和粘貼操作
- crashReporter:將崩潰日志提交給遠(yuǎn)程服務(wù)器
- nativeImage:使用 PNG或 JPG 文件創(chuàng)建托盤、dock和應(yīng)用程序圖標(biāo)
- shell:使用默認(rèn)應(yīng)用程序管理文件和 url
進(jìn)程關(guān)系圖
END