对于使用dojo等工具包在浏览器中长时间运行的应用程序,我一遍又一遍地听到必须避免悬空引用.但是在内存管理方面,每种语言/框架都有自己的特性.
在dojo中构建应用程序时,如何避免悬挂引用?我正在考虑iOS中"alloc"的规则:如何使用,以及如何在完成后自行清理.
我认为 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 中使用时也适用相同的模式。
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |