HighStock 网站上的“动态更新数据”演示似乎在当前版本的 Google Chrome (24.0) 中泄漏了内存。我已经在 Mac OS X 10.8.2 和 Windows 7(64 位)上试过了。我还在 OS X 上尝试了 Safari 6.0.2,在 Windows 7 上尝试了 IE9 和 Firefox 18。泄漏似乎只发生在 Chrome 中,而且总是会发生。
鉴于这是一个相当突出的演示,我预计它会运行良好。但是如果有足够的时间,它会在 Chrome 中崩溃,并出现“Aw, Snap”错误页面。在编写的演示中可能需要很长时间,但是如果您单击 jsFiddle 链接并将setInterval()
调用更改为 100 毫秒而不是 1000 毫秒,泄漏是相当明显的。具有多个系列和大量数据的真实应用程序可能会在几分钟内使 Chrome 崩溃。
请注意,在不断添加数据时,“shift”参数addPoints()
始终为真,这意味着旧数据被丢弃的速度同样快。所以内存使用应该是相当稳定的——在 Chrome 以外的浏览器上,它是。
我不确定如何判断这是 Chrome 错误还是 HighCharts 错误。而且我还没有找到有用的解决方法。非常感谢任何一个方面的结论性答案。