PDA

Просмотр полной версии : выделение памяти


k0zer
27.03.2007, 19:06
Вопрос, если мы оператором new под переменную выделили память, потом ещё разок. Для первой delete не вызывали. Есть в AC2 что-нить вроде gc, который память подчищает на которую ссылок больше нет? Или меморилики )) будут.
Конкретно этот вопрос у меня возник после http://www.actionscript.org/resources/articles/170/1/Flash-MX-2004-Undocumented-TweenEasing-Classes-Documented/Page1.html
там есть пример с yoyo() и если на кнопку несколько раз потыкать, шарик начинает дергаться, потому что несколько одинаковых mx.transitions.Tween выделено.

etc
27.03.2007, 19:15
GC есть. Сносит старый объект, если на него нет больше ссылок.

k0zer
27.03.2007, 19:31
т.е. можно не париться
а зачем тогда delete нужен?
И потом, возвращаясь к тому примеру в 1м посте под заголовком "IV. Additional Tidbits". Несколько раз нажимаем кнопку, создается несколько конфликтующих Tween, а переменная только одна, значит ссылка есть только на последний, почему остальные gc не сносит?

etc
27.03.2007, 19:35
delete нужен для удаления этих самых ссылок.
Остальные ссылки остались в списке слушателей MovieClip.

9000

k0zer
27.03.2007, 19:41
delete нужен для удаления этих самых ссылок.
Остальные ссылки остались в списке слушателей MovieClip.

А где там слушатели добавляются?

все. понял. спасибо ))

etc
27.03.2007, 19:47
См. код класса Tween.

k0zer
27.03.2007, 20:40
А как посмотреть код класса Tween?

iNils
27.03.2007, 21:05
C:\Documents and Settings\user_name\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\mx\transitions\Tween.as

k0zer
27.03.2007, 21:38
Спасибо, только у меня немного не там находится ))

etc
27.03.2007, 21:42
Это не суть, найти можно.