IE8中img动态修改src时,内存不能释放的问题
在IE8中,用javascript动态修改src时,内存一直增加,无法释放,直到图片无法显示。
图片有300张左右,每张700K左右。
如:document.getElementById("myimg").src = imglist[nCurImg];
用CollectGarbage();手动释放,效果也不明显。大家有什么解决方法。
在IE6和IE9中,貌似没有这个问题。
代码如下:
-----------------------------------------------------
<html>
<head>
</head>
<body>
<input type="button" name="input1" value="showNext" onclick="showNext()">
<input type="button" name="input1" value="showAll" onclick="showAll()">
<input type="button" name="input1" value="relaease" onclick="release()">
<input type="button" name="stop" value="stop" onclick="stop()">
<br>
<img alt="" id="myimg" src="image/default.jpg" />
<script>
// 图片实际300张左右,现在只写了4张的,作为例子。
var imglist = new Array("./img/1.jpg", "./img/2.jpg","./img/3.jpg","./img/4.jpg");
var nCurImg = -1;
var timer = null;
</script>
<script type="text/javascript">
function showAll()
{
timer = setInterval("show()", 1000);
}
function show()
{
nCurImg = nCurImg + 1;
document.getElementById("myimg").src = imglist[nCurImg];
}
function showNext()
{
nCurImg = nCurImg + 1;
document.getElementById("myimg").src = imglist[nCurImg];
}
function release()
{
CollectGarbage();
window.clearInterval(timer);
timer = null;
document.getElementById("myimg").src = null;
CollectGarbage();
}
function stop()
{
window.clearInterval(timer);
timer = null;
}
</script>
</body>
</html>
更多 0