[js]memory leak

看板Ajax作者 (骨頭)時間17年前 (2007/08/15 17:48), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
話說最近在處理圖片輪播的問題 用到了預先載入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; } function imageError(img,i) { img.onload=null; img.onerror=null; img.onabort = null; img=null; if(refresh) setTimeout("ming("+i+")",delay); } function imageLoaded(img,i) { //確定圖片完成後再載入 _e("img"+img["nIndex"]).src=img.src; //Find the image control object img.onload=null; img.onerror=null; img.onabort = null; img=null; if(refresh) setTimeout("ming("+i+")",delay); } ─────────────────────── 我圖片蠻小的 不過refresh速度 大概是 7張/s orz 300mb跑不到二十秒 就爆了...XD 不過把藍字的部分補上去就OK了 我估計是黃字 new出function ,但是沒有被正確釋放. (雖然我把img設null ,但是還是不會釋放img成員...記憶體還是狂吃) 提出來供借鏡囉 QQ --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.15.165
文章代碼(AID): #16milzfL (Ajax)
討論串 (同標題文章)
以下文章回應了本文
0
1
完整討論串 (本文為第 1 之 2 篇):
17年前, 08/15
0
1
文章代碼(AID): #16milzfL (Ajax)