Flex: мне нужно удалить обработчики событий на AsyncResponder? Если так, то как? - PullRequest
1 голос
/ 30 июля 2011

Нужно ли удалять прослушиватели событий для событий AsyncResponder?

т.е.

    public function DeleteItem():void
    {
        var asyncResponse:AsyncResponder = new AsyncResponder(DeleteItem_Result, DeleteItem_Fail);
        _myService.DeleteWorkout("test", asyncResponse);
    }

    private function DeleteItem_Result(event:Event):void
    {
        //If I do need to remove them, how do i remove the async responder event listeners?
    }

Если мне нужно их удалить, как мне это сделать?

1 Ответ

2 голосов
/ 30 июля 2011
Do I need to remove event listeners on AsyncResponder events?

Нет, нет.Если вы создаете AsyncResponder и используете ot снова и снова, то непременно оставьте там слушателей.

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

В Adobe Flex Framework довольно часто добавляюти удалить слушателей "по мере необходимости".Мы используем подход в календаре Flextras, например, когда имеем дело с эффектами.Перед запуском эффекта мы добавляем прослушиватели событий для «эффекта конца».Эти слушатели удаляются в этом методе окончания эффекта.


Обновление:

Чтобы удалить прослушиватель событий, вы должны использовать код, подобный следующему:

asyncResponder.removeEventListener('result' ,UpdatePics_result);
asyncResponder.removeEventListener('fault' ,UpdatePics_fault);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...