如何通过脚本释放浏览器内存

clipboard.png

如图,为了保持数据同步,某个接口一直保持几秒重新请求。
网页一直开着的话,是否会影响chrome内存?直至浏览器崩溃?
如何通过脚本来释放这部分内存?

阅读 6.3k
2 个回答

做过类似实验,使用 while(true) 一直发 ajax 请求,大概一秒5次,持续几十分钟。代码片段/块中全部都使用 var/let 限定作用域,理论上所有变量都会释放,不会占用内存。
实测结果是在 Chrome 的某版本之前(可能是 54 ,也可能是 48 ,时间太久了记不清了),Chrome 的确有内存泄漏的问题,这是 Chrome 的 Bug ,靠 js 是没办法的。
Chrome 已经修复了这个问题,现在已经很难复现了。

但是如果代码写得不好的话,本该释放的内存仍然会保存,这就是代码质量的事情了。很可惜目前只有 Basic 有 CLEAR 这种一口气清理所有内存的命令(而且完全没有实际意义)。

如果你担心请求过多导致内存占用太大的话,关注自身的代码质量,开启严格模式,所有代码块中使用 let 声明变量,减少使用全局变量,在每个循环结束后关注是否已经释放临时变量。

你可以查看Chrome进程的内存占用情况,来判断是否会受到影响,可以使用Shift + Esc来具体查看每个chrome进程的内存情况。先确定是否真的会影响。

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