Chrome浏览器下,tab不在激活状态或者浏览器最小化时页面内存占用增大,切换至当前tab显示时内存占用就突然减小

问题描述

网站使用React编写,Websocket推送数据给前端展示(数据推送有时候会比较频繁)。
当网站的tab不在激活状态(浏览其他tab)或者最小化浏览器时,任务管理器中内存占用会逐渐增大(注意是内存占用,不是Javascript占用的内存),切换到当前页面时内存占用会突然减小。如果放一个晚上,内存占用第二天会增长到1G以上,Windows下有时候会直接页面崩溃
图片描述
图片描述
其实切换显示页面后一瞬间页面cpu有点高,截图没有截取到,很快就恢复正常了。

问题出现的环境背景及自己尝试过哪些方法

只有Chrome下会出现这个bug,Windows以及Mac上都可以复现。

尝试过使用devtool的performance以及内存快照来debug,但是js占用的内存上正常的(增大然后垃圾回收),不正常的是页面内存。

还通过修改代码的排除法,猜测原因和react-visibility-sensor这个插件有关,但是无法确定原因。因为隐私保密关系不能提供在线地址。

想知道是什么原因会导致Chrome下页面内存占用增大而js内存正常的原因。

阅读 3.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题