1

我正在使用 Mozilla v1.7.12 在受限设备(摩托罗拉机顶盒)上尝试解决一些内存泄漏问题。

当我动态加载引用一些大图像的样式表时,我可以看到消耗的内存量随着图像的大小而增加。这是我所期望的。

然后,当我从 DOM 中删除样式表时,我希望内存被释放。但是,这不会发生。

这是一个问题,因为我正在处理的 Web 应用程序需要能够在页面的生命周期内多次动态加载和卸载样式表。

因此,我的问题是:我看到的是预期的行为还是已知的错误?有没有办法解决这个问题?

我应该指出,我已将样式表中所有图像的 expires 标头设置为 -1。

[更新]

如果我继续加载和卸载样式表,浏览器会消耗越来越多的内存。因此,似乎不是浏览器重用相同内存的情况。

4

1 回答 1

0

它是否是一个错误是一个非常主观的问题。浏览器在需要时使用内存,并且在认为不再需要时最多放弃。它可能永远不会释放内存,因为保留它以供重用比继续放弃和请求它更有效。

简而言之,第二次猜测任何程序为何或何时消耗和释放内存通常是无望的努力(当然,除非它是您的代码)。

您是否尝试过加载多个样式表,一个接一个?您可能会发现,即使浏览器没有返回内存,它也会重用同一个池,因此总内存使用量实际上并没有增加。

于 2010-05-03T08:46:07.000 回答