在打开几个小时后反应应用程序在 chrome 中冻结

Posted

技术标签:

【中文标题】在打开几个小时后反应应用程序在 chrome 中冻结【英文标题】:React app freezing in chrome after several hours of being open 【发布时间】:2020-02-12 22:27:02 【问题描述】:

不是特定的编程查询,而是更多与整个 javascript 应用程序有关的问题,该应用程序存在一般问题并正在寻找任何可能的解决方案来调试它。

我正在使用 React 并且有一个单页应用程序,它每秒大约 40 次从 websocket 接收流数据。用户显示屏每秒更新相似的次数以显示更新。

我遇到的问题是,在运行页面超过 12 小时后,不仅 google chrome,而且所有其他应用程序都开始暂时冻结。如果我开始尝试对其他应用程序做太多事情,有时 chrome 上的所有窗口都会变黑,并且可能会冻结长达 30 秒。其他应用程序使用的处理/内存越多,我打开的 react 应用程序版本越多,冻结开始的速度越快,但无论如何只能在几个小时后开始。

目前唯一的解决办法是重新启动整个窗口,因为即使在关闭 chrome 之后问题仍然存在。

我尝试使用 google chrome 分析来检查堆类型以查看内存泄漏,但内存大小与我首次启动应用程序时相同。 我试过重新安装chrome,但这也没有解决问题。 我在网上某处读到这样的冻结可能是由于垃圾收集过多造成的?但是,什么会导致这种情况过度发生呢?而且我不明白为什么在我关闭谷歌浏览器后这种情况会持续存在。

一个可能的解决方案是构建一个自动刷新器,一旦用户空闲至少 5 分钟,就会每小时刷新一次页面,但如果这是一个可以解决的问题,这似乎有点矫枉过正。

对于调试此类问题或明显的地方我应该寻找解决方案的任何提示/建议?因为它在当前状态下非常无法发货

【问题讨论】:

所以即使用户空闲,您仍然会发送流数据?似乎是在浪费数据和精力。为什么不在用户空闲时停止它并在用户再次处于活动状态时继续?可能会解决您的问题。 好建议。我应该说空闲意味着用户正在关注它,但如果不是在他们非常忙碌的时期,他们可能会偷偷刷新。 你不是一个人这一位。我以为我的机器已经全部规范了,但是在使用 npm 运行 React-Web 之后是的。我开始看到同样的问题。正如你提到的。 @putvande 你是什么意思,这是要在 React 或 chrome 中改变吗? 【参考方案1】:

问题是由于 Windows 10 上的以下两件事之一。我执行了这两件事,其中一件导致冻结停止: 1)在控制面板->电源选项->附加电源设置->更改计划设置->更改高级设置->将硬盘休眠选项更改为从不或0 2) 从主板制造商网站更新芯片组驱动程序。

【讨论】:

大声笑我在 Mac 上遇到了完全相同的问题。但我说的是一个面向客户的网络应用程序——所以我不会告诉他们更新东西或更改他们机器上的配置。我想知道是否可以通过编程方式解决此问题

以上是关于在打开几个小时后反应应用程序在 chrome 中冻结的主要内容,如果未能解决你的问题,请参考以下文章

kali 安装chrome后点击图标无反应

WPF 应用程序,“时钟文本框”在几个小时后冻结

推荐一个可以把网页背景色调成护眼色的Chrome扩展应用

chrome点击下载excel没反应

在debain中用sudo dpkg -i方式安装chrome,安装完成后点击无反应,请问要如何解

window.open 在 Chrome 中不起作用