然而现在,谷歌则计划通过 Chrome 86 中的一项新功能来解决此问题,该功能可以通过在标签页处于后台时关闭不必要的 JavaScript 计时器和跟踪器来减少能耗。这项实验性的 Chrome 功能可以限制标签的后台流程,包括检查滚动位置的跟踪器 、报告日志并分析与广告互动的活动。
Chromium 小组在一个名为“限制 JavaScript 计时器以减少后台标签中的电池使用量”的文档中发布了运行的实验结果。该文档解释称,网站开发人员使用这些计时器进行分析的方式并不会使用户受益,并且会消耗 macOS、Windows 和 Linux 设备上的电量。
“我们使用 Devtools 在后台检查了一些热门站点所做的工作,发现很多工作都是由 JavaScript 定时器完成的。此外,我们还发现,当页面处于后台时,用这些 JavaScript 计时器完成的工作通常对用户而言并不具有价值(例如,检查滚动位置是否已更改、报告日志、分析与广告的互动)。”
因此,该小组猜测减少后台页面上的 JavaScript 计时器唤醒次数可以延长电池寿命,而不会对用户造成影响。
在一个测试案例中,谷歌将 Javascript 计时器唤醒次数限制为每分钟 1 次。然后经实验发现,在加载 36 个随机的后台运行标签和一个空白的前台运行标签后,电池寿命增加了 28%,大致相当于 2 个小时。同时,其还进行了另一项实验,即不再以前台的空白标签为例,而是打开一个 YouTube 视频进行全屏播放。结果为,电池寿命增加了 13%(约 36 分钟)。
Safari 浏览器已经在使用 1 分钟的轮询间隔,但是保持如此短的间隔有时仍会导致一些 Web 应用程序问题。因此,谷歌方面透露该公司正在考虑将其闲置 5 分钟。
目前,这项新的 Chrome 功能仅作为 Chrome 86 预览版本中的标志提供。但如果正式发布,它将适用于所有移动和桌面版本(Windows、Mac、Linux、Android 和 Chrome OS)。