我参与了 Firefox 扩展的开发。我们的扩展很复杂,我们遇到了永久性僵尸隔间的问题。Mozilla Zombie 隔间页面仅提供一般信息,仅介绍问题和测试方法。
所以,我想问一下是否有人知道常见的瓶颈和有问题的设计模式(或者简单地说,已知的错误和失败)以及如何处理它们的最佳实践。
补充:这是扩展中内存泄漏的常见原因的一个很好的链接。还有其他建议吗?
我参与了 Firefox 扩展的开发。我们的扩展很复杂,我们遇到了永久性僵尸隔间的问题。Mozilla Zombie 隔间页面仅提供一般信息,仅介绍问题和测试方法。
所以,我想问一下是否有人知道常见的瓶颈和有问题的设计模式(或者简单地说,已知的错误和失败)以及如何处理它们的最佳实践。
补充:这是扩展中内存泄漏的常见原因的一个很好的链接。还有其他建议吗?
最常见的故障模式是存储对网页的引用时间过长。这可能有几个原因,我已经看到:
基本上,无论何时您使用网页中的某些内容,请确保您永远不会将其分配给使用 var 声明的局部变量以外的任何内容,并且您不会创建新的长寿命函数来关闭它。这两件事将对很大一部分案件有所帮助。
请注意,这些都不是特定于 Firefox 扩展的;它适用于 JavaScript 中的所有编码...