Dojo垃圾收集/资源解放技术?
我最近创建了我认为是基于页面的应用程序,它现在被嵌入作为控件使用. “控制”需要多次卸载/重新加载.这会导致订阅和未被销毁的dijit控件出现问题.我已经找到了必要的断开连接,注册表.detroy逻辑,但它很乏味.是否有任何最佳实践可以使控件集合可以破坏?
这是示例代码,显示了可以使用基本逻辑完成的任务: 我问的是一个类似于AppDomain的框架是否可以清除在该上下文中创建的任何内容.类似于将控件嵌入IFRAME ……但不是.
我可以看到两种让您的生活更轻松的做法:
> Dijit小部件扩展dijit / _WidgetBase,因此小部件提供(dis)连接和(非)订阅方法.在连接小部件时,您应该使用它们而不是通用的aspect.connect()和topic.subscribe(),因为这样小部件在被销毁时会自动断开连接并取消订阅,因此您不必这样做. 应用上述原则,您可能只需要在层次结构中最高的容器上调用destroyRecursive()来销毁dijits. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |