IE8中img动态修改src时,内存不能释放的问题

抗抗1990 2015-07-06 10:13:29
在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
...全文
96 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧