【发布时间】:2015-06-29 09:14:43
【问题描述】:
我目前在一个运行没有任何问题的网站上工作,但在 Chrome 中我发现内存使用量很大!我开始一个新标签并打开我的网站,内存使用量从 40MB 开始(我使用 chrome 任务管理器来检测内存使用情况),所以一切正常。现在我只是重新加载网站,内存显着增加。只需点击网站背景或任何没有绑定事件或任何功能的地方,也可以稍微增加内存(真的很慢
为了我的坏,例如。 YouTube 在 Chrome 中只需要 130-150 MB 并且没有这个内存问题......所以我的问题是这是哪个问题?我的意思是在除 Chrome 之外的所有其他浏览器中它都可以正常工作(我认为 Opera 和 Safari 会有同样的问题,因为它们是基于 webkit(未测试))。
在为 Chrome 编程网站以避免此类内存问题时,我有什么可以改进或应该注意的地方吗?如果有人比我更有经验(在 Web 开发的这一部分)能够给我一些建议以避免 Chrome 中的内存泄漏或内存问题,我将非常感激!
编辑 (29.06.2015):我已经尝试在 Chrome 中禁用硬件加速,但这并没有改变任何东西 - 仍然是同样的内存问题!
【问题讨论】:
-
这类问题通常与javascript超时和循环或间隔有关。你检查过这种代码吗?这可能是原因。
-
没有看到你的代码就无法说出你的编程类型,但是 Chrome 无论如何都会耗尽内存。例如,每个 chrome 选项卡都是一个全新的过程,会增加很多开销。它以 RAM 换取速度。我怀疑这是您的代码中的问题(如果是这种情况,其他浏览器也会受到影响)。您可以尝试删除浏览器缓存。
-
@kmsdev 我已经检查了 setTimeout 函数、没有结束的循环、间隔等等,但没有什么看起来像它导致这个问题,如果有无限循环它也会影响其他Firefox 等浏览器。
-
@Sebastian Nette 我试图删除浏览器缓存但它没有改变任何东西:-(。仍然占用大量内存。
-
我的意思是带有超时或间隔的循环。我的意思是,如果你有一些永远不会停止的间隔,这可能是原因。的确,在其他浏览器中,ram 也应该受到影响,但 chrome 也确实喜欢吃 ram(比其他浏览器更多)。我建议您使用您的 javascript 代码更新您的问题,或者,如果可能的话,创建一个 jsFiddle。
标签: javascript jquery performance google-chrome memory-leaks