私は自分のホームネットワーク用の小さなウェブアプリケーション(天気データ、電力消費など)をHighchartsで構築している間に大きな問題を抱えています。Highchartsのメモリリークが大きい - 作成と破棄にメモリが不足していますか?
私は24時間365日ウェブアプリケーションを実行しているので、いくつかの重要なデータを簡単な表示で表示します;-) この番号/タイルの1つをクリックすると、詳細ページグラフが表示されます。私は、X秒ごとに詳細ページをスクロールする自動詳細機構を実装しました。
私の問題は、タイルを隠すときにチャートが '.highcharts()。destroy();'で破棄された後、ダイアログボックスが破棄されるということです。
約4-5時間後、ブラウザがクラッシュします( 'あスナップ...')。 私は、ウェブサイトのメモリ使用量をプロファイリングし、それがそのようになっています
私はそのように見てはいけないという、かなり確信して!ご覧のように、下の「c」は成長しています!
だからここにチャートの私の創造:
if(typeof $(bindTo).highcharts() !== 'undefined'){
$(bindTo).highcharts().destroy();
}
// get here data with jquery from backend [jquery caching disabled]
var chart = $(bindTo).highcharts({
......
});
だからここにクロームプロファイラからちょうど別の詳細:
私はただの一つを選びましたこれらの青い棒(つまり、ここで作成されたこのオブジェクトは、Profの最後にまだ生きていますiling処理[?!])。この青い棒がこの「c」オブジェクトで構成されているように見えますが、これはHighchartsに属しています。
私は間違っていますか?これは既知の動作ですか?これをどうすれば解決できますか? (うん、多分私はデータを更新一度だけ、ちょうどすべてのチャートを作成することもできますが、それは私の最後のdecission ;-)だろう)
おかげ