如何增加 electron-builder 构建的应用程序的最大内存限制?
How to increase the max memory limit for the app built by electron-builder?
- 版本: "electron": "1.6.2", "electron-builder": "^16.8.2",
- 目标:windowsx64
我知道我可以在 运行 使用 electron 时添加 --js-flags="--max-old-space-size=4096"
。但是我应该把这个参数放在哪里到 electron-builder 的构建配置中呢?
在main.js中添加:
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');
根据 Supported Chrome Command Line Switches,这应该在 ready
事件发出之前调用。例如:
import { app } from "electron";
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');
app.on('ready', () => {
// ...
});
只是想补充一点,在我的例子中,max-old-space-size
标志只有在我将它放在我的 webview 的 "preload" 脚本中时才被成功应用,就像这样 (Start_WebviewPreload.ts) :
import {remote} from "electron";
remote.app.commandLine.appendSwitch("js-flags", "--max-old-space-size=8192");
放在"main.js"文件中(整个程序的入口点),并没有做任何事情。 (我什至使用 Process Hacker 2 检查了命令行参数,在我如上所述移动代码之前,它没有显示任何电子进程具有该标志)
此外,我注意到在命令行标志的设置和 app.on("ready")
的执行之间可能存在某种竞争条件——有时,上面的代码适用于 main渲染器进程(一个不在 web 视图中的进程),而其他时候则没有。
所以基本上:如果您想确保命令行开关正常工作,请在给定 browser-window/web-view.
的预加载脚本中应用它们
- 版本: "electron": "1.6.2", "electron-builder": "^16.8.2",
- 目标:windowsx64
我知道我可以在 运行 使用 electron 时添加 --js-flags="--max-old-space-size=4096"
。但是我应该把这个参数放在哪里到 electron-builder 的构建配置中呢?
在main.js中添加:
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');
根据 Supported Chrome Command Line Switches,这应该在 ready
事件发出之前调用。例如:
import { app } from "electron";
app.commandLine.appendSwitch('js-flags', '--max-old-space-size=4096');
app.on('ready', () => {
// ...
});
只是想补充一点,在我的例子中,max-old-space-size
标志只有在我将它放在我的 webview 的 "preload" 脚本中时才被成功应用,就像这样 (Start_WebviewPreload.ts) :
import {remote} from "electron";
remote.app.commandLine.appendSwitch("js-flags", "--max-old-space-size=8192");
放在"main.js"文件中(整个程序的入口点),并没有做任何事情。 (我什至使用 Process Hacker 2 检查了命令行参数,在我如上所述移动代码之前,它没有显示任何电子进程具有该标志)
此外,我注意到在命令行标志的设置和 app.on("ready")
的执行之间可能存在某种竞争条件——有时,上面的代码适用于 main渲染器进程(一个不在 web 视图中的进程),而其他时候则没有。
所以基本上:如果您想确保命令行开关正常工作,请在给定 browser-window/web-view.
的预加载脚本中应用它们