首页 > 解决方案 > 重复添加/删除导致内存泄漏

问题描述

我有一个用例,我反复从服务器获取数据并使用 cytoscape 显示它。为此,我只有一个 cy 对象,我反复删除和添加元素。这种情况每两秒发生一次。我注意到浏览器内存随着时间的推移而增长。文档说“虽然指定给该函数的元素已从图中删除,但它们可能仍存在于内存中”

那么,我需要对调用 remove 返回的集合做任何事情吗?如何确保清除内存。

标签: memory-leakscytoscape.js

解决方案


好吧 javascript 已经是一种垃圾收集语言,所以它最终会丢弃你对节点的所有引用。如果您从图中删除节点并且没有任何对它的引用,那么垃圾收集器将清理它......最终:)

由于存在这些内存泄漏的事实,我有根据的猜测是,可能存在一些与全局范围的内部纠缠或类似的情况,这会阻止在重新初始化整个图之前丢弃元素(也许可以尝试?)。


推荐阅读