使用 electron 构建的应用,在首次打开时,会出现短暂的白屏。这个过程应该是在加载本地的资源javascript
那么如何来优化这个问题呢?java
经过查阅官方文档,咱们能够如今建立窗口时隐藏,等加载完成后再显示出来git
在加载页面时,渲染进程第一次完成绘制时,会发出
ready-to-show
事件 。 在此事件后显示窗口将没有视觉闪烁
mainWindow = new BrowserWindow({ ... show: false // 先隐藏 }) ... mainWindow.on('ready-to-show', function () { mainWindow.show() // 初始化后再显示 })
对于一个复杂的应用,ready-to-show
可能显示比较慢,会让应用感受缓慢。 在这种状况下,建议马上显示窗口,并使用接近应用程序背景的backgroundColor
github
const { BrowserWindow } = require('electron') let win = new BrowserWindow({ backgroundColor: '#2e2c29' }) win.loadURL('https://github.com')
请注意,即便是使用ready-to-show
事件的应用程序,仍建议使用设置backgroundColor
使应用程序感受更原生。electron