3

我在我的網頁中使用jQuery。我看到很多內存泄漏發生,過了一段時間,整個瀏覽器都停下來了。我使用了篩選工具,並注意到在no中有一個相當大的增加。的DOM元素,每次通過一個沒有。的4.內存泄漏JQuery - 所有瀏覽器

我做錯了事情的方式我有事件? 或者是因爲我每隔X秒使用setTimeout重繪我的應用程序?

事件關聯:

$(」。bir_Names')點擊(showNames); 選擇器$('.bir_Names')等於一組300個元素,每個元素都在點擊時調用函數。

setTimeout 每隔X分鐘我會刪除應用程序中的每個HTML元素,並重新綁定新數據並關聯事件。我使用jquery remove()來刪除元素。已嘗試innerHTML =''和空()也。

我發現每次重繪都會跳過將近30-40 MB,Sieve指示沒有任何刪除的節點實際上被刪除。

Anyhelp將不勝感激。這件事讓我瘋狂。

謝謝。

回答

1

你沒有提及哪個瀏覽器,但是一些Google使用似乎表明這是IE的一個已知問題。這裏有一個潛在的解決方法:

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

注意,多數民衆贊成提到的jQuery 1.2.x的版本。在你做任何事情之前,確保你正在運行最新的1.6.x版本,以便首先查看jQuery中是否已經修復了缺陷。

[編輯] ack ...你說你的瀏覽器...'所有'...所以也許無視第一個鏈接。

+0

感謝您的回答。我在所有瀏覽器IE6/7/8,FF,Safari中都注意到了這個問題。我也試過包括jquery的最新版本,但問題仍然存在。我不確定在事件發生的方式上是否存在根本性的東西。 – gambler