ReactDOM似乎正在缓存和释放元素,所以这是泄漏吗?

问题描述 投票:2回答:1

我想我在整个周末都失去了时间,晚上睡了几个晚上,这可能不是问题。

[在我们的AngularJS / React混合Web应用程序中跟踪内存泄漏时,我做了很多年的程序:从状态A开始,进入状态B,返回到状态A,强制垃圾回收并检查泄漏。

花了太长时间(也许是因为我只是试图快速运行测试),使我意识到ReactDOM似乎正在缓存元素并随着时间的推移释放它们。因此,当我强制使用GC时,它并不会真正垃圾收集所有可释放的对象。如果我等待几秒钟然后再试一次,则会释放更多的东西。

有趣的是,我发现我的HTMLSelectElement似乎挂得最长。如果我稍等一下,它也会被释放。

发生了什么,有什么方法可以配置React来减轻查找内存泄漏的痛苦?

enter image description here

reactjs memory-leaks google-chrome-devtools react-dom
1个回答
0
投票

不,它正在收集垃圾,因此不会造成内存泄漏。您可以从“摘要”进行比较,并将其与先前的快照进行比较,以检查泄漏对象的增量。通常,如果两个快照的大小增加,则表示内存泄漏。

© www.soinside.com 2019 - 2024. All rights reserved.