我正在尝试使用以下代码片段在JavaScript中分配内存,以研究内存泄漏/消耗。然而
performance.memory.usedJSHeapSize
在我的情况下,它总是显示相同的数字10000000。尽管动态创建元素并将其附加到DOM中,但为什么这个数字从未改变?
我需要一个JavaScript片段来动态地创建内存泄漏并监视使用情况,使用performance.memory.usedJSHeapSize或任何其他可用的函数。
我尝试了这段代码,但performance.memory.usedJSHeapSize仍然保持在10000000:
<body>
<p id="memory" style="position: fixed; top:10px; left:10px"></p>
<script>
setInterval(() => {
document.getElementById("memory").innerHTML = performance.memory.usedJSHeapSize
}, 300);
btn = [];
let i = 0;
setInterval(() => {
for (let j = 0; j < 1000; j++) {
++i;
let k=i;
btn[k] = document.createElement("BUTTON");
document.body.appendChild(btn[k]);
btn[k].innerHTML = k;
btn[k].addEventListener("click", function () {
alert(k);
});
}
}, 5000);
</script>
</body>
我已经尝试了这篇文章中2013年提供的示例,但是这个示例也不再会导致内存泄漏。