1

我不能提供代码片段,因为有问题的代码是分类的。但是,我会尽我最大的努力清楚地说明这个问题。

我们的代码库有一个全局变量(让我们称之为"BIGGY"),我们将所有对象和适用于这些对象的方法添加到其中。因此,我添加了一个名为"Fish.Apple.Banana.Potato"to的对象"BIGGY"。我为 定义了一个方法"letsCall"BIGGY["Fish.Apple.Banana.Potato"]并多次调用它n,我发现存在内存泄漏(进程内存随着时间的推移而激增)。

但是,如果我将名称更改"Fish.Apple.Banana.Potato""Fish.Apple.Ban.Potato",则不会发生内存泄漏。没有其他变化。

它与对象键的长度无关,因为我们有更长的键,不会导致这种情况。我已经阅读了一些 JS 引擎没有针对长对象键进行优化,但是找不到任何对由选择对象键引起的任何稳定性/内存泄漏问题的引用。

有没有人看到这个或知道如何解决这个问题?在我看来,在问题消失之前更改对象标识符并不是一个好的解决方案。

4

0 回答 0