Bootstrap 插件:如何在关机时进行适当的清理?
Bootstrap addon: How to do proper cleanup on shutdown?
我是新手,对于无重启插件的垃圾收集工作的确切方式有点不知所措。
在我的关闭函数中,我目前调用了我必须进行清理的所有对象。他们将所有事件处理程序删除到他们可能已设置的外部代码,然后删除自己的所有属性。
然后我为那里的所有对象调用 delete namespace.ObjectA
。命名空间本身是我在 bootstrap.js 中创建的一个变量。我想知道这是否有必要,或者 firefox 在调用我的插件的关闭函数后是否会从 bootstrap.js 中删除所有全局变量,从而从我的插件外部无法访问的所有其他对象?
显然,如果关闭的原因是 Firefox 应用程序关闭,我不会进行任何清理。
我是否遗漏了清理时应该做的任何事情?
请注意,无需重启的插件必须在 'disable' 或 'uninstall' 上执行这些操作。
插件必须删除事件侦听器和观察器。
删除命名空间并不重要(也没有完成),它是一个变量,将由 GC 完成。
此外,插件必须还原(而不是重置)任何在其自身之外更改的首选项。
正如您所说,通常不需要对 Firefox 应用程序关闭进行任何操作。
参考文献:
我是新手,对于无重启插件的垃圾收集工作的确切方式有点不知所措。
在我的关闭函数中,我目前调用了我必须进行清理的所有对象。他们将所有事件处理程序删除到他们可能已设置的外部代码,然后删除自己的所有属性。
然后我为那里的所有对象调用 delete namespace.ObjectA
。命名空间本身是我在 bootstrap.js 中创建的一个变量。我想知道这是否有必要,或者 firefox 在调用我的插件的关闭函数后是否会从 bootstrap.js 中删除所有全局变量,从而从我的插件外部无法访问的所有其他对象?
显然,如果关闭的原因是 Firefox 应用程序关闭,我不会进行任何清理。
我是否遗漏了清理时应该做的任何事情?
请注意,无需重启的插件必须在 'disable' 或 'uninstall' 上执行这些操作。
插件必须删除事件侦听器和观察器。
删除命名空间并不重要(也没有完成),它是一个变量,将由 GC 完成。
此外,插件必须还原(而不是重置)任何在其自身之外更改的首选项。
正如您所说,通常不需要对 Firefox 应用程序关闭进行任何操作。
参考文献: