[問題] jquery memory leak

看板Ajax作者 (kj)時間14年前 (2010/12/09 20:38), 編輯推噓2(2012)
留言14則, 4人參與, 最新討論串1/1
或許這不是 jQuery 的問題吧 上網查了一下似乎是因為 innerhtml 的狀況 大致上的使用情況如下 頁面中使用了蠻多的 $(selector).html(..) 的方式加入一段 html 然後清除的時候使用 $(selector).html(""); 光是這樣反覆的操作就會讓記憶體不斷的增加 不知是是否有比較有效率的方式能解決這樣不斷增加的記憶體呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.81.84

12/09 21:10, , 1F
用$(selector).children().remove()就不會有這個問題
12/09 21:10, 1F

12/10 00:03, , 2F
我再試試看 @@ 感謝樓上的回答 ^^
12/10 00:03, 2F

12/10 00:42, , 3F
我記得是因為.html('')不會把data,event handlder等等
12/10 00:42, 3F

12/10 00:43, , 4F
一起移除的樣子
12/10 00:43, 4F

12/10 13:58, , 5F
我有點好奇,如果.html()裡有一堆js的程式
12/10 13:58, 5F

12/10 13:58, , 6F
在.remove()之後呼叫的話還會不會有效?
12/10 13:58, 6F

12/10 14:03, , 7F
js被執行之後就進記憶體啦,那些只是plaintext而已。
12/10 14:03, 7F

12/10 15:10, , 8F
或是直接$(selector).empty()也是一樣
12/10 15:10, 8F

12/10 15:11, , 9F
http://api.jquery.com/empty/這裡有講到memory leak
12/10 15:11, 9F

12/10 15:44, , 10F
@TonyQ:那如果又被重複呼叫的話,會不會又多佔記憶體呢?
12/10 15:44, 10F

12/10 19:15, , 11F
你這個問題仍然是大哉問啊。:P 存的東西變多的話當然是會,
12/10 19:15, 11F

12/16 00:31, , 12F
網頁搞到太麻煩...用了上面的功能memory還是一直增加 囧
12/16 00:31, 12F

12/16 00:32, , 13F
大概要花不少時間看問題在那了 Orz
12/16 00:32, 13F

12/16 00:32, , 14F
感謝dreamer大的幫忙呀 ^^
12/16 00:32, 14F
文章代碼(AID): #1D0CtHbf (Ajax)
文章代碼(AID): #1D0CtHbf (Ajax)