我正在使用 React、Redux 和 Three.js 开发 WebGL 应用程序。我的应用程序使用鼠标移动和点击作为输入。现在由于某种原因,每当我单击或移动鼠标时,我的应用程序都会变得越来越慢。如下面的性能配置文件所示,似乎存在某种内存泄漏导致事件监听器使用的内存不断增长。
据我了解,屏幕截图中的黄线显示事件监听器的内存使用量不断增长。
但是这条黄线到底代表什么?它是事件监听器使用的内存量吗?或者注册听众的数量?或者注册/未处理事件的数量?
有没有人在过去遇到过类似的问题并且可能找到了解决方案?
我的应用程序/原型(prototype)的完整代码可以在 this repository 中找到.不幸的是,我还无法找出问题的原因或用简单的代码片段重现它。
最佳答案
这实际上可能只是一个开发问题。如果您使用 NODE_ENV=production
构建 React 项目,此问题可能不会持续存在。
这似乎与 React 上的未解决问题有关:https://github.com/facebook/react/issues/12141
关于JavaScript 事件监听器内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47391178/