考虑以下示例:
setInterval(function()
{
console.log(new Date());
});
如果我electron example.js
在 OS X 下运行它,它会在我的停靠栏中打开一个图标并开始在控制台上打印时间。但是,如果应用程序没有集中注意力,一段时间后它就会开始节流。
我环顾四周,发现这是由于 OS X 的省电策略。现在,如果我需要它继续在后台工作怎么办?我的应用程序将成为一个守护进程,时不时地做一些事情,我不能让我的用户长时间盯着我的应用程序。
我在这里发现我可以做到
electron.powerSaveBlocker.start('prevent-app-suspension');
这实际上解决了我的问题。然而,这是非常具有侵入性的,因为据我所知,它完全阻止了系统睡眠!我不需要这么多,我只需要我的应用程序在计算机处于活动状态且在线时执行某些操作,而不会强迫它永远保持清醒。
在让我的用户将应用程序持续保持在前台和让他们的计算机永远不眠之间,中间没有任何东西吗?