Очистка компонента ExtJs

Я прочитал следующий комментарий в ExtJs-in-action -

'Do not dismiss the destruction portion of a Component’s lifecycle if you plan on developing your own custom
Components. Many developers have gotten into trouble when they’ve ignored this crucial step and have code that
has left artifacts such as data Stores that continuously poll web servers...'

Я никогда не вызывал явные деструкторы/деструкторы для моих контейнеров/компонентов в 3.4.x
Хотя все работает нормально, мне любопытно 1. В каких случаях реализация деструкторов становится необходимой
2. Что такое правильное соглашение для обработки уничтожения компонентов при закрытии экземпляра браузера.


person IUnknown    schedule 02.06.2015    source источник


Ответы (1)


Это руководство может быть полезным для чтения.

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

Как правило, в ExtJs вы освобождаете ресурсы в методе уничтожения, но не забывайте также вызывать функцию callParent(), чтобы ExtJ выполнял свою собственную очистку.

Вот еще одна статья от IBM в 2012 году, в которой более подробно рассматриваются предмет.

person Scriptable    schedule 02.06.2015