看板 Ajax 關於我們 聯絡資訊
※ 引述《TonyQ (骨頭)》之銘言: : 話說最近在處理圖片輪播的問題 : 用到了預先載入image : 又碰到了之前在玩 urMap api的 memoryleak問題 : 提出來做參考 : 我結論一小段 code 把重要的地方標紅字起來 : ───────────────────── : function ming(i) : { : //在這裡作圖片的new : var img = new Image(); : img["nIndex"]=i; : img.onload = function(){ imageLoaded(this,i); }; : img.onerror = function(){ imageError(this,i); }; : img.onabort = function(){ imageError(this,i); }; : img.src = "pic.php?no="+i; : } : 我估計是黃字 new出function ,但是沒有被正確釋放. : (雖然我把img設null ,但是還是不會釋放img成員...記憶體還是狂吃) : 提出來供借鏡囉 QQ 這裡的 event handler 都是用 closure 的方式來定義的, 也就是說每產生一個 img 就連帶產生三個 function 物件,其實這是不必要的 把這些 event handler 定成共同的 function 應該會減少所需的 memory. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.126.95
TonyQ:明天到了再來測測看XD 成員指派後最好還是找時間set null~ 08/16 02:23