3

Web ページで jquery を使用しています。多くのメモリ リークが発生し、しばらくするとブラウザ全体が停止します。ふるいツールを使用したところ、一定の回数が増加していることに気付きました。DOM要素の、毎回いいえ。4の。

イベントを関連付ける方法に何か問題がありますか? それとも、setTimeout を使用して X 秒ごとにアプリを再描画しているためですか?

イベントの関連付け:

$('.bir_Names').click(showNames); セレクター $('.bir_Names') は、それぞれがクリック時に関数を呼び出す約 300 の要素のセットに進化します。

setTimeout X 分ごとに、アプリ内のすべての HTML 要素を削除し、新しいデータを再バインドしてイベントを関連付けます。jquery remove() を使用して要素を削除します。innerHTML = '' と empty() も試しました。

再描画ごとに約 30 ~ 40 MB のジャンプが見られます。Sieve は、削除されたノードが実際には削除されていないことを示しています。

どんな助けでも大歓迎です。このことは私を夢中にさせています。

ありがとう。

4

1 に答える 1

1

どのブラウザかは言及していませんが、グーグルで調べたところ、これが IE の既知の問題であることを示しているようです。考えられる回避策の 1 つを次に示します。

http://forum.jquery.com/topic/possible-memory-leak-in-remove-and-empty

これは、jQuery の 1.2.x リリースを参照していることに注意してください。何かを行う前に、最新の 1.6.x リリースを実行していることを確認して、jQuery 内で欠陥が既に修正されているかどうかを最初に確認してください。

[編集] 確認します...あなたはあなたのブラウザを述べます...「すべて」...その最初のリンクを無視してください。

于 2011-06-25T18:34:12.180 に答える