在dojo中避免内存泄漏?

Pet*_*ton 5 javascript dojo

对于使用dojo等工具包在浏览器中长时间运行的应用程序,我一遍又一遍地听到必须避免悬空引用.但是在内存管理方面,每种语言/框架都有自己的特性.

在dojo中构建应用程序时,如何避免悬挂引用?我正在考虑iOS中"alloc"的规则:如何使用,以及如何在完成后自行清理.

Jan*_*nen 2

我认为 dojo 中最重要的事情是你应该记住断开连接的任何事件。

有一个简单的模式,例如在自定义 dijit 中:

//connecting some events
this._events = [
    dojo.connect(...),
    dojo.connect(...)
];
Run Code Online (Sandbox Code Playgroud)

现在,断开连接非常简单:

dojo.forEach(this._events, dojo.disconnect, dojo);
Run Code Online (Sandbox Code Playgroud)

this.connect在 dijit 中使用时也适用相同的模式。