3

私のウェブページでjqueryを使用しています。私はメモリリークが頻繁に起こるのを見て、しばらくしてブラウザ全体が停止してしまいます。私はふるいツールを使用して、それに漸増していることに気づいた。 DOM要素の、毎回のNO。 4.メモリリークJQuery - すべてのブラウザ

イベントに関連する方法が間違っていますか? それは、x秒ごとにアプリケーションを再描画するためにsetTimeoutを使用しているからですか?

イベント関連:。

$(」。bir_Names')(showNames)をクリックしてください。 セレクタ$( '。bir_Names')は、クリックごとにその関数を呼び出す約300個の要素のセットをエバリュートします。

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

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

Anyhelpは非常に高く評価されます。このことは私をナットに追いやっています。

ありがとうございました。

答えて

1

あなたはどのブラウザについては言及していませんが、何人かのグーグルがこれがIEの既知の問題であると思われるようです。それはjQueryのの1.2.xのリリースに言及だと

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

注:ここでは一つの潜在的な回避策です。何かをする前に、最新の1.6.xリリースを実行していることを確認し、最初にjQueryで不具合が修正されているかどうかを確認してください。

[編集] ack ...あなたはあなたのブラウザに「すべて」と言っています...その最初のリンクを無視するかもしれません。

+0

あなたの答えをありがとう。 IE6/7/8、FF、Safariのすべてのブラウザでこの問題が発生します。私はjqueryの最新バージョンを含めて試しましたが、問題は解決しません。私がイベントを関連づけたやり方に根本的に何かがあるかどうかはわかりません。 – gambler

関連する問題