electron踩坑之系统托盘自动消失

踩坑

 打开electron,发现系统托盘的图标过一段时间后会自动消失,为了解决这个问题,我找到了系统托盘图标为何会自动消失的原因。

原因

 当我们声明Tray模块中的变量时,没有将其声明为全局变量,导致在运行过程中,会被垃圾回收机制回收掉。

解决

 将存储窗口/系统托盘的变量声明为全局变量,也就是在main.js中app.on('ready',fuc)之前声明此变量。在app.on('ready',fuc)内部去使用
 代码部分:

//创建系统托盘图标
let iconTary = null
let path = require('path')
let {
     Tray} = require('electron')
//将iconTary声明为全局变量
let iconTary = null
app.on('ready',() => {
     

	//将iconTary赋值Tary模块
	iconTary = new Tray(path.join(__dirname,'../static/flag.png'))
	
})

 问题解决。

你可能感兴趣的:(Electron)