![]() |
Тонкости сборки мусора (Garbage Collector)
Ведется разработка класса, реализующего Mp3 плеер, который может работать автономно, и может быть встроен в Flash-приложение в Интернет. Вопрос состоит в следующем, возьмем класс плеера, в том случае, если он является точкой регистрации программы, когда Пользователь выбирает пунтк "закрыть" - вызывается метод, который удаляет все ссылки на приемники событий (removeEventListener), а затем всем переменным экземпляра присваивается значение null, или эквивалентное ему. В этом случае Garbage Collector при необходимости удалит экземляр класса из памяти?
А, если же, класс плеера вызывается внутри другого класса приложения, то должен ли метод, срабатывающий на "закрытие" плеера присваивать переменным экземпляра класса SoundPlayer значение Null, либо эквивалентное ему? Или же достаточно деактивировать внутри класса SoundPlayer все приемники событий, а затем в классе приложения из которого он был вызван присвоить переменной, ссылающейся на экземпляр класса SoundPlayer значение null? |
Все ссылки лучше занулить.
|
__etc, не подскажете ресурсы с актуальными доками по алгоритму работы GarbageCollector в среде выполнения FlashPlayer 10, и Adobe Air 1.5, желательно на англ.яз.))
|
А какие доки? Всё, что нужно сделать — уничтожить все ссылки и отписать всех слушателей, разбив объекты на атомы. Всё.
|
Цитата:
|
Когда-то очень упорно искал в проекте лики памяти, вот моя коллекция ссылок в помощь...
http://dtf.ru/articles/read.php?id=51967 http://www.gskinner.com/blog/archive...source_ma.html http://groups.google.com/group/ruFla...a81e46644040b/ http://labs.adobe.com/wiki/index.php...mory_Profiling http://livedocs.adobe.com/flex/3/htm...rofiler_3.html http://x-geom.net/blog/?p=48 http://riapriority.com/blogs/slon-vs...g-memory-leaks http://riapriority.com/blogs/slon-vs...15/profiling-2 http://actionscript-blog.imagination...tion-script-3/ Тут и по-английски и по-русски, и профилирование.... |
_Smirnoff, а не хочешь выжимку в блоге написать? :)
|
_Smirnoff, Great thanks
|
Если в языке нет деструктора (как в C++), то значит должен быть Garbage Collector, но его реализация зависит от версии Flash Player (как от JVM в случа с Java).
|
|
| Часовой пояс GMT +4, время: 04:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.