在我当前的项目中,我注意到IE使用了相当多的内存。花了一段时间的调查,我发现图像没有从内存中删除,但我的网站使用图像相当全面。
最后,我创建了一个简单的测试,动态加载图像,然后使用jQuery清除它
我的测试js:
$(document).ready(function () {
$('#appendImages').click(append);
$('#removeImages').click(remove);
});
function append() {
$.post("http://localhost/TestService/GetImages", { key: $('#key').val()}, function (data) {
$.each(data.Data.items, function (i, v) {
$('#imagesContainer').append('<img src="' + v.imageUrl + '" />');
}); ;
});
}
function remove() {
$('#imagesContainer').empty();
}测试html:
<input id="key" type="text" value="jeans" >
<div id="reset">Reset</div>
<div id="repeatableReset">Repeatable Reset</div>
<div id="stop">Stop</div>
<br />
<br />
<br />
<br />
<div id="appendImages">append</div>
<div id="removeImages">remove</div>
<div id="imagesContainer"></div>
<html>
</html>在添加新图像时,IE内存正在增加。但是,在我删除所有加载的图像后,内存就不会被清除。例如,在页面加载后,IE进程使用20 it,在追加图像后使用35 it,清除后使用-30 it。
我使用了sIEve工具来查找任何工具,但没有发现任何漏洞。IE以某种方式缓存图像吗?IE中是否存在处理动态创建的图像元素的问题?
火狐内存级别上的更新保持不变,但在IE中却在增加。
https://stackoverflow.com/questions/4149528
复制相似问题