У меня есть пользовательский компонент (довольно сложный, поэтому я не могу размещать здесь какой-либо код, хотя это не имеет значения), который я могу добавить в представление. Когда компонент удаляется из представления или представление переключается, я вызываю свой собственный метод dispose, который удаляет оставшиеся прослушиватели событий и убивает некоторые ссылки, чтобы в конечном итоге компонент мог быть обнулен и собран сборщиком мусора.
Все это прекрасно работает, пока я не добавлю Spark TextInput в MXML-часть компонента (мне потребовалось несколько часов, чтобы выяснить, что мешает сбору компонента!), поэтому я полагаю, что TextInput каким-то образом автоматически добавляет некоторые прослушиватели событий.
Мой вопрос в том, что это за слушатели, или есть что-то еще, о чем я не подумал?
Любая помощь будет принята с благодарностью!
hasEventListener()
, чтобы определить, какие прослушиватели не удаляются, если таковые имеются. Посмотрите исходный код SkinnableTextBase, чтобы увидеть, какие слушатели добавляются внутри. - person RIAstar   schedule 28.03.2012styleChanged()
: может показаться, что если вы установите стильinteractionMode
TextInput наInteractionMode.MOUSE
, это удалит прослушиватели. - person RIAstar   schedule 28.03.2012