|
|
|||||
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Регистрация: Apr 2010
Сообщений: 170
|
Ребят, всем спасибо за ответы. У меня вопрос по стилю ведения проекта (чтобы новой темы не создавать). Я как-то от C++ приучился. Вот главным классом у меня всегда является main.as, он не лежит ни в каком пространстве имён. Далее я решил создать пакет Game и в него впихнуть класс Game. Получилось вот так:
Но при создании объекта Game в классе main приходится писать так: Работаю в FlashDevelop и тут каждая папка как пакет получается. Может стоит писать так: Или это тоже какие-то подводные камни несёт? А то у меня сложилось такое впечатление, что лучше не называть пакеты такими же названиями как имена классов. Так ли это? |
|
|||||
Регистрация: Apr 2010
Сообщений: 170
|
Извиняюсь, создаю новую тему...
|
|
|||||
Думаю, имеется в виду что GC не сразу удалит слушатель в виду соображений что памяти достаточно. Вот слушатель и будет сидеть в памяти, не влияя на нее. А вот на проц будет грузить, потому что слушатель будет все время выполняться, пока GC не увидит что памяти мало и не удалит его.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
Согласен. Лично я не всегда доверяю мягким ссылкам и отписываюсь от событий в явном виде. А что - перестраховаться не помешает. Это вырабатывает привычку, чтобы потом не искать утечки.
__________________
Я мало чего умею, но зато хорошо умею учиться... Последний раз редактировалось HardCoder; 30.01.2012 в 15:12. |
|
|||||
Цитата:
Да, с мягкими оно надежнее - вдруг не отпишешься - хотя бы GC пусть и через некоторое время, но снесёт. Однако это напоминает выдачу парашютов пилотам пассажирского лайнера - а чё? - на пару жертв меньше зато будет. Ведь если вы забыли отписаться и ссылка была _не_ мягкой - это обнаружить будет проще, чем если бы ссылка была мягкой. Подход спорный, на абсолютную истинность не претендую. А слушать или не слушать Adobe - это зависит от Вашего подхода к управлению памятью в приложении в целом. Последний раз редактировалось expl; 30.01.2012 в 15:44. |
|
|||||
Цитата:
Да, в конструкторе класса приложения переменная stage доступна, но ADDED_TO_STAGE сработает в любом случае после конструктора, поэтому достаточно написать так: package { import flash.display.MovieClip; import flash.events.Event; public class main extends MovieClip { public function main() { addEventListener(Event.ADDED_TO_STAGE,OnAddedToStage); } private function OnAddedToStage(_event:Event):void { removeEventListener(Event.ADDED_TO_STAGE,OnAddedToStage); Start(); } private function Start():void { } } }
__________________
aka doctorstal |
|
|||||
Цитата:
Цитата:
Цитата:
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
Часовой пояс GMT +4, время: 20:59. |
|
« Предыдущая тема | Следующая тема » |
|
|