我一直在尝试在我们编译和构建的Electron应用程序中配置垃圾收集和最大旧空间大小。
我可以通过CLI electron.cmd --js-flags="--expose_gc --max-old-space-size=128" .
使用这些设置进行调试,并且可以使用Global GC。
但是,当我尝试使用电子API app.commandLine.appendArgument('--js-flags', '--expose_gc --max-old-space-size=128');
设置这些标志时,它没有按预期方式启用GC,因此在app.on('ready', ...)
函数之前会调用此代码。
也没有设置NODE_OPTIONS帮助(我看到此功能已根据https://github.com/electron/electron/issues/12695在最新的Electron版本中被禁用)
有没有人有工作经验?
答案 0 :(得分:3)
app.commandLine.appendSwitch('js-flags', '--expose_gc --max-old-space-size=128')
appendSwitch的第一个参数不使用--
前缀,只需删除它即可。 seconds参数将按原样进行解析,这就是为什么它保留前缀的原因。
还请注意,如果您使用apppendSwitch,它只会为渲染器公开gc,如果要在其中使用它,则需要添加CLI参数。