[js]memory leak
話說最近在處理圖片輪播的問題
用到了預先載入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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章
-1
12