ExtJs: Нужно ли принудительно удалять хранилище после разрушения сетки, использующей его? - PullRequest
0 голосов
/ 28 марта 2012

В нашем приложении у нас есть различные окна, которые содержат сетку и соответствующие им хранилища. Общая структура кода окна у нас выглядит следующим образом:

function showWin(){
    var storeVar    =   //code for store
    var gridVar     =   //code for grid with store as storeVar
    var winVar      =   //code for window having gridVar as item
    winVar.show();
}

Эта функция showWin () вызывается, скажем, при нажатии кнопки, которая отображает окно.

Теперь, когда это окно закрыто, оно уничтожается вместе со своей сеткой дочерних элементов. Но разве это также разрушает магазин, связанный с сеткой? Я думаю, нет.

Таким образом, если storeVar не уничтожается при закрытии окна (точнее, при уничтожении сетки), то следует принудительно удалить его, чтобы уменьшить дополнительный багаж (так как новая копия создается каждый раз, когда вызывается функция ) из памяти? Если да, то как?

Спасибо за любую помощь заранее.

PS: мы используем ExtJs версии 4.0.7

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Задал тот же вопрос на форуме sencha, и, согласно полученному ответу, я думаю, что хранилище не нужно разрушать принудительно, так как сборщик мусора сам позаботится об этом. Подробнее здесь.

Обновление здесь тоже, в надежде, что это поможет кому-то еще, ищущему то же самое.

1 голос
/ 28 марта 2012

Обычно вы сами не создаете объекты магазина.В ExtJs есть класс StoreManager, который обрабатывает все это в фоновом режиме.Вы просто получаете доступ к объектам магазина, вызывая Ext.getStore ('MyStore1').

И при таком подходе каждое хранилище обычно имеет только один экземпляр в памяти.Так что вам не нужно беспокоиться об его уничтожении.

...