【问题标题】:How free memory after using `Ext.window.Window` class instance?使用 `Ext.window.Window` 类实例后如何释放内存?
【发布时间】:2015-10-29 16:38:45
【问题描述】:

我正在使用Extjs-6 来开发我的应用程序。我的应用程序中有超过 20 个控制器。在所有这些控制器中,有时,这些控制器会显示一个Ext.window.Window 类实例,然后用户关闭此窗口(换句话说,所有控制器都可以显示一个弹出窗口)。
我使用destroy 函数关闭window 是真的吗?这是释放内存吗?这种方式不会发生内存泄漏吗?一句话,What's best way?

【问题讨论】:

标签: javascript extjs destroy extjs6 extjs6-classic


【解决方案1】:

close 被调用时(无论是用户点击的结果,还是以编程方式),destroy 在后台被调用,所有与防止内存泄漏有关的事情都由框架为您处理。因此,除非有相关的错误,否则您完全不必担心。

不过,摆脱对不再存在/正在使用的对象的任何引用仍然是一个好习惯。因此,如果您在某处创建了对您的窗口的引用,如下所示:

this.win = Ext.create('Ext.window.Window'....

最好在窗口关闭时删除它:

delete this.win;

【讨论】:

  • 如果您使用全局事件总线在您的应用程序之间进行通信,例如使用 Web 套接字,请确保断开这些处理程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
相关资源
最近更新 更多