gpt4 book ai didi

electron - 当 Electron 在后台时避免应用程序 throttle

转载 作者:行者123 更新时间:2023-12-02 18:54:39 26 4
gpt4 key购买 nike

考虑以下示例:

setInterval(function()
{
console.log(new Date());
});

如果我在 OS X 下使用 Electron example.js 运行它,它会在我的停靠栏中打开一个图标并开始在控制台上打印时间。但是,如果应用程序没有聚焦,一段时间后它就会开始受到限制。

我环顾四周,发现这是由于 OS X 省电策略造成的。现在,如果我需要它继续在后台工作怎么办?我的应用程序将是一个守护进程,时不时地做一些事情,我不能让我的用户茫然地盯着我的应用程序很长时间。

我发现here我能做到的

electron.powerSaveBlocker.start('prevent-app-suspension');

这实际上解决了我的问题。然而,这是相当具有侵入性的,因为据我的理解,它根本阻止系统休眠!我不需要这么多,我只需要我的应用程序在计算机处于事件状态并在线时执行某些操作,而不强制它永远保持唤醒状态。

让我的用户将应用程序持续放在前台与让他们的计算机永远处于休眠状态之间,难道没有中间的因素吗?

最佳答案

根据当前文档:

Note: prevent-display-sleep has higher precedence over prevent-app-suspension. Only the highest precedence type takes effect. In other words, prevent-display-sleep always takes precedence over prevent-app-suspension.

For example, an API calling A requests for prevent-app-suspension, and another calling B requests for prevent-display-sleep. prevent-display-sleep will be used until B stops its request. After that, prevent-app-suspension is used.

这意味着将 prevent-app-suspension 设置为 on 仍将允许系统休眠,并且仅执行您希望的操作。但是,您可以运行该函数两次,传递两个标志,打开两个选项。然而,正如上面的文档所说,如果两者都设置为打开,那么系统将不会休眠,直到该标志被删除。

关于electron - 当 Electron 在后台时避免应用程序 throttle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com