gpt4 book ai didi

Javascript mousemove 空事件处理程序泄漏内存?

转载 作者:行者123 更新时间:2023-12-03 16:51:00 26 4
gpt4 key购买 nike

我通过以下方式使用事件监听器/处理程序:

    var _builder_canvas = document.getElementById("Builder");

mouseMove = function() {
}

initBuilder = function( ) {
// Add mouse listener events
_builder_canvas.addEventListener( 'mousemove', mouseMove, true);
}

通过主文档的 onload 处理程序调用“initBuilder”。

即使使用上面的空函数,当我在 Chrome (23.0.1271.64) 或 FF (16.0.2) 中运行此代码时,每次鼠标移动时都会分配内存,但永远不会释放。

我知道您总是需要删除事件监听器以避免内存泄漏,但是当它是一个 mousemove 处理程序时如何做到这一点呢?处理程序需要在页面打开的整个过程中处于事件状态。

我还注意到,以类似的方式为 mouseup 或 mousedown 添加监听器/处理程序不会导致任何额外的内存分配。

我是否遗漏了一些基本的东西?任何见解将不胜感激。

最佳答案

如果您使用 devtools > timeline 记录内存使用情况,您会看到在触发事件后内存被很好地释放。

关于Javascript mousemove 空事件处理程序泄漏内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13310867/

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