如果我创建了人工数量的音频,向每个音频添加事件监听器并且从不删除它们,是否会出现内存泄漏?
/* creates infinite number of audios
* note: while(true) would freeze the browser */
function createAudio() {
var audio = new Audio();
audio.addEventListener("waiting", function(event) {
console.log("will never execute");
});
window.setTimeout(createAudio, 0);
}
createAudio();
最佳答案
对于当今的大多数浏览器来说,它都有一个内置的垃圾收集器,这是一种自动内存管理的形式。它收集被对象占用且不再被程序使用的内存。
本文提供了对 javascript 如何完成这项工作的更好理解 http://javascript.info/tutorial/memory-leaks还有这个https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)更好地理解术语垃圾收集。
关于javascript addEventListener - 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518393/