Dojo widget的析构过程
注:本文来自于李文兵的博客,对我分析javascript内存泄露非常有帮助,谢谢分享!
了解dojo widget(或者说dijit)的析构过程,不仅让你更加了解整个dijit的生命周期,同样也能帮助我们在自己定制化的dijit中如何正确地释放资源。(这里讨论的dojo应该是在0.9或者以上版本的)
下面是dijit的析构过程:
destroyRecursive / \ destroy destroyDescendants / | \uninitialize disconnect() destroyRendering
一些常见的错误是如下:
使用destroyRecursive()去销毁dijit,使用uninitialize()在定制化的dijit来释放自己的资源。destroyDescendants,destroyRendering基本上用不到,也不要去覆盖它们。