gpt4 book ai didi

javascript - 系统地更新 IMG 的 src。内存泄漏

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:47 25 4
gpt4 key购买 nike

系统地更新 IMG 的 src。内存泄漏。

我目前每 x 秒更新一次图像。我想到的几种方法如下:

拿一个:

var url ="...";
$('#ImageID').attr('src', url);

现在这可以完美地改变图像但是会导致内存泄漏。

两个:

所以它正在创建 DOM 元素,所以我尝试了以下操作。

<div id="ImageHolder">

</div>

var image - "..."; //Obv actual image in working.

$('#ImageHolder').empty();
$('#ImageHolder').html(image);

现在这可行,但当它改变时会导致闪烁,这是不一样的。现在有两张图片并每隔一定时间交换它们就可以正常工作,但我想保持尽可能低的带宽。

编辑 1:

我的代码:

<form name="selected">
<input type="hidden" name="map" />
</form>

<img id="MyMaps" src="http://localhost/web/blank.png" alt="" />


<script type="text/javascript">
var locate = window.location;
var uri = document.selected.map.value;

var MyHost = window.location.hostname;
function delineate2(name) {
totheleft= uri.indexOf("maps/") + 5;
totheright= uri.lastIndexOf("&");
return (uri.substring(totheleft, totheright));
}

function loadImage() {
var CurrentMap = delineate2(name);
var url = 'http://' + MyHost+ '/map/' + CurrentMap+ '/image?' + new Date().getTime();

$('#MyMaps').attr('src', url);

setTimeout(loadImage, 10000);
}
</script>

有没有人做过类似的事情并找到了可行的解决方案,或者我该如何防止图像更新时的内存泄漏/闪烁?

最佳答案

我相信您的“take one”应该有效。应该没有内存泄漏。你每次都在覆盖 src 标签——如果你没有对旧图像的其他引用,它们应该被垃圾收集。我在 FF 和 Chrome 中看到了这个问题。 Chrome 告诉我 JS 内存使用是恒定的,内存一定是丢失了。我打开了一个 Chrome 错误: https://code.google.com/p/chromium/issues/detail?id=309543如果你也想增加体重并且可能给这个错误加注星标 :)

关于javascript - 系统地更新 IMG 的 src。内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com