在销毁组件后,在initComponent函数内存中创建的存储是否会泄漏,或者这些存储是否会被垃圾回收?

Ryu*_*yuk 2 javascript garbage-collection memory-leaks extjs extjs4

这个问题远远超出了另一个问题:

在ExtJS 4中多次拥有相同视图和存储的最佳实践

因此,在网格的initComponent函数中创建存储的场景中.

我是否应该覆盖网格的onDestroy以破坏商店?

或者这些商店会被垃圾收集,因为根本就没有对它们的引用?

sra*_*sra 5

  1. 不,商店在销毁网格后仍然存在
  2. 不,您不需要覆盖网格的destroy方法

您可以通过将商标设置autoDestroyAPI-Link来强制商店销毁自己true

autoDestroy : Boolean
Run Code Online (Sandbox Code Playgroud)

如果Store仅由一个DataView使用,并且只应在该视图的生命周期内存在,则将autoDestroy标志配置为true.这会导致视图的破坏触发其Store的销毁.

Defaults to: false
Run Code Online (Sandbox Code Playgroud)

请参阅此工作演示,了解autoDestroy网格使用的商店的效果(关闭演示中的网格)

附加信息:

  1. 始终使用storeId
  2. 使用StoreManager查找商店的存在