我正在面板内创建一个网格,当我销毁网格时,对其的引用将保留在面板的初始配置中,这意味着它从未被正确清理过。有没有办法阻止这个初始配置的创建/清除它,以便正确清除它所引用的对象?
最佳答案
您可以在 Base 析构函数中将其清空。不幸的是 Base 不是一个真正的类,因此通过 Ext.define 覆盖它不是正确的方法,但我们可以通过闭包解决这个问题:
(function() {
var oldDestroy = Ext.Base.destroy;
Ext.Base.destroy = function() {
this.config = this.initialConfig = null;
oldDestroy.call(this);
};
})();
如果您的应用程序存在内存泄漏问题,我会强烈建议您升级到 Ext JS 6。我们在 6.0 中堵住了大部分组件泄漏,不幸的是,如果没有重大兼容性问题,这项工作基本上无法向后移植。
关于javascript - 当我销毁保留在初始配置中的 ExtJs 网格对象时,导致大量内存泄漏,如何正确删除此初始配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299854/