1

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 のバグなのか、どう判断したらよいかわかりません。そして、私は有用な回避策を見つけていません。いずれかの側面に対する決定的な回答をいただければ幸いです。

4

1 に答える 1

2

マークのコメントに触発されて、さまざまなもののさまざまなバージョンを試してみることにしました。最初に、最先端のバージョンの jQuery と HighStock を試しました。Chrome 24 (安定版) はまだリークされています。次に、Fedora の Mark で機能したので Chrome 23 を試しましたが、Mac OS ではまだリークしていました。

次に、Chrome Canary ビルド 26.0 を試しました。漏れもなく効きました!これは、数十メガバイトの余分なメモリ使用量を構築し、数秒ごとに「通常」に戻すという古典的なガベージ コレクション パターンを示していました。それは朗報です。悪いニュースは、Chrome Beta 25.0 がまだリークしていることです。そのため、今後 2 か月以内に HighCharts の他のユーザーがこの問題に遭遇した場合は、「不安定な」バージョンの Chrome を使用するか、別のブランドのブラウザーを使用する必要があります。

于 2013-02-11T11:55:34.007 に答える