Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.08.2010, 14:09
RomECH вне форума Посмотреть профиль Отправить личное сообщение для RomECH Посетить домашнюю страницу RomECH Найти все сообщения от RomECH
  № 1  
Ответить с цитированием
RomECH

Регистрация: Aug 2010
Адрес: Russia, Cheboksary
Сообщений: 50
Отправить сообщение для RomECH с помощью ICQ Отправить сообщение для RomECH с помощью Skype™
Question Параметры "addEventListener"

addEventListener имеет 5 параметров. с первыми 2-мя как-бы все понятно. а зачем нужны последние 3?

Старый 20.08.2010, 14:21
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Об этом написано в хелпе.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.08.2010, 14:31
RomECH вне форума Посмотреть профиль Отправить личное сообщение для RomECH Посетить домашнюю страницу RomECH Найти все сообщения от RomECH
  № 3  
Ответить с цитированием
RomECH

Регистрация: Aug 2010
Адрес: Russia, Cheboksary
Сообщений: 50
Отправить сообщение для RomECH с помощью ICQ Отправить сообщение для RomECH с помощью Skype™
Цитата:
useCapture:Boolean (default = false) — Determines whether the listener works in the capture phase or the target and bubbling phases. If useCapture is set to true, the listener processes the event only during the capture phase and not in the target or bubbling phase. If useCapture is false, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call addEventListener twice, once with useCapture set to true, then again with useCapture set to false.

priority:int (default = 0) — The priority level of the event listener. The priority is designated by a signed 32-bit integer. The higher the number, the higher the priority. All listeners with priority n are processed before listeners of priority n-1. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0.

useWeakReference:Boolean (default = false) — Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.
с приорити более менее понятно, а др?

Старый 20.08.2010, 14:37
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
useCapture - подписаться на фазу захвата или на фазу бабблинга и таргета. Подробнее - в теме 100 tips & tricks.

useWeakReference - вроде доходчиво объяснено. При false он защищен от GC, при true - нет. Подробнее - в той же теме.

Старый 20.08.2010, 14:38
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 5  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
useWeakReference:Boolean (default = false) — Determines whether the reference to the listener is strong or weak. A strong reference (the default) prevents your listener from being garbage-collected. A weak reference does not.
Сильная сслыка (изначально, по дефолту) защищает ваш листенер от возможности быть схаванным злобным GC. Слабая ссылка позволяет скушать (убрать листенер автоматически).

Старый 20.08.2010, 18:24
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 6  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ ДОПОЛНИТЕЛЬНЫХ ПАРАМЕТРОВ СЛУШАТЕЛЕЙ СОБЫТИЙ

Сборка мусора

Сборка мусора - метод, применяемый Flash Player для очистки памяти от объектов, которые больше не нужны. Как правило, на начальном этапе изучения ActionScript 3.0 нет необходимости глубоко погружаться в изучение вопросов сборки мусора и управления памятью. Однако существуют не слишком сложные приемы написания кода, применение которых вполне безболезненно даже в начале процесса обучения, а в дальнейшем может стать весьма полезной привычкой. К таким приемам относится и сборка мусора.

Метод addEventListener() имеет три дополнительных необязательных параметра, указываемых в конце списка параметров.

Код AS3:
eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse, useCapture:Boolean, priority:int, weakReference:Boolean);
//
Первые два дополнительных параметра определяют, когда будет выполнена обрабатывающая функция.

Параметр useCapture управляет тем, будет ли отслеживаемое событие обрабатываться до того, как оно достигнет целевого объекта (если параметр имеет значение true), или же только когда оно достигнет целевого объекта (значение false) либо «всплывает» вверх по списку отображения. По умолчанию используется значение false, указывающее слушателю реагировать на событие только при достижении событием целевого объекта или после этого. Вероятно, в большинстве случаев вы будете использовать именно такую настройку.

Второй параметр, priority, определяет порядок выполнения различных слушателей, установленных для одного и того же события и одной и той же фазе. Как правило, в изменении этой настройки нет необходимости, и значение 0, используемое по умолчанию, прекрасно подойдет в большинстве ситуаций.

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

В ActionScript 3.0 действия по управлению памятью, не контролируемые вами явным образом, совершаются в фоновом режиме специальным сборщиком мусора. Когда в вашем приложении больше не остается ссылок на некоторый объект, этот объект помечается как кандидат на удаление, и сборщик мусора периодически удаляет такие объекты, освобождая место в памяти. Однако если ссылка на объект остается, сборщик мусора не сможет определить, что объект пора удалить из памяти. Несмотря на все старания, разработчики нередко забывают удалить лишние слушатели событий в своем коде. В этом случае практически идеальным решением является слушатель со слабой (weak) ссылкой. Идея проста: сборщик мусора при подсчете ссылок на объект не обращает внимания на слушатели со слабыми ссылками, и поэтому нет необходимости вручную помечать их для удаления. Если после того, как объект выполнил свое предназначение, остались только слабые ссылки на него, он становится законной добычей сборщика мусора.

Данную возможность очень легко использовать - достаточно лишь изменить значение параметра weakReference метода addEventListener() на true (по умолчанию - false). Поскольку этот параметр является третьим по счету, необходимо указать также значения двух предыдущих параметров, чтобы Flash правильно распознал, какому параметру присваивается новое значение. Поскольку значения первых двух параметров изменяются довольно редко, вы можете использовать упомянутые выше настройки по умолчанию (false для useCapture и 0 для priority). Итак, мы рекомендуем вызывать метод addEventListener() следующим образом:

Код AS3:
eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse, false, 0, true);
Если вы возьмете за правило использование этой конструкции, вероятность столкнуться с проблемами в области управления памятью из-за небрежного сопровождения кода будет сведена к минимуму. При этом следует помнить, что данный прием не избавляет от необходимости удалять ненужные слушатели, однако он служит отличной страховкой, которую всегда стоит иметь в виду.

Рич Шуп, Зеван Россер - "Изучаем ActionScript 3.0 От простого к сложному".


Последний раз редактировалось tsarapkabel; 20.08.2010 в 18:26.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
AS3 , flash

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.