我参与了Firefox扩展的开发。我们的扩展是复杂的,我们有永久僵尸隔间的问题。 Mozilla Zombie compartments page仅提供一般信息,只介绍问题和测试方法。
所以,我想问一下是否有人知道常见的瓶颈和有问题的设计模式(或简单地说,已知的错误和失败)以及如何处理它们的最佳实践。
补充:这是扩展中内存泄漏的good link常见原因。还有其他建议吗?
答案 0 :(得分:2)
最常见的故障模式是将对网页的引用存储时间过长。出现这种情况有几个原因,我见过:
基本上,每当你从网页上处理某些东西时,请确保你永远不会将它分配给除了用var声明的局部变量以外的任何东西,并且你不会创建关闭它的新的长期函数。这两件事对大部分案件都有帮助。
请注意,这些都不是特定于Firefox扩展;它适用于JavaScript中的所有编码......