HighStock Web サイトの「動的に更新されたデータ」デモは、現在のバージョンの 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()
呼び出しを 1000 ミリ秒ではなく 100 ミリ秒に変更すると、リークはかなり明白になります。複数のシリーズとかなりの量のデータを含む実際のアプリケーションは、ほんの数分で Chrome をクラッシュさせる可能性があります。
データが継続的に追加されている間、「シフト」パラメーターaddPoints()
は常に true であることに注意してください。つまり、古いデータが同じ速さで破棄されます。そのため、メモリ使用量はかなり一定であるはずです。Chrome 以外のブラウザでは一定です。
これが Chrome のバグなのか HighCharts のバグなのか、どう判断したらよいかわかりません。そして、私は有用な回避策を見つけていません。いずれかの側面に対する決定的な回答をいただければ幸いです。