|
|
|||||
Регистрация: Oct 2013
Сообщений: 126
|
оптимизационная паранойя
Здравствуйте! В целях оптимизации решил, помимо всего прочего, делать так:
1. Обнулять локальные переменные, ссылающиеся на экземпляр класса: // Пример private function create_obj():void { var obj:SomeClass = new SomeClass(); // создаём новый экземпляр какого-нибудь класса addChild(obj); // добавляем экземпляр в список отображения obj = null; // обнуляем ссылку, потому что в пределах данного блока (будь то метод или цикл, вобщем, всё, что ограничего abuehysvb скобками) к этой переменной обращения уже не будет } Насколько я понимаю, хуже вышеупомянуте меры не сделают, но сделают ли лучше? Подскажите, пожалуйста, насколько целесообразны данные действия, и в каких случаях так, напротив, делать нельзя ни в коем случае? |
|
|||||
Регистрация: Jan 2013
Сообщений: 322
|
Цитата:
|
|
|||||
Регистрация: Oct 2013
Сообщений: 126
|
вот блин, только время потратил. Но если так оставить, от этого не хуже ведь? А то снова все локальные переменные перебирать, чтобы обнуление убрать...
|
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Оставь как есть, тормозить от этого не будет.
|
|
|||||
странная какая-то оптимизация)
Обнуление локальной ссылки на объект - это совсем не оптимизация. Гораздо важнее сделать деструктор для самого объекта, которые отпишет его от всех слушателей и удалит из всех массивов. А создание слабой ссылки - это вообще зло. Такие слушатели могут удаляться в самый неподходящий момент. По собственному (негативному) опыту могу сказать, что слушатели надо удалять вручную. Лучше предусмотреть это сразу, еще при написании кода добавления, чтобы потом не забыть. Я лично сразу делаю методы-деструкторы. И сразу прописываю в них удаление всех слушателей, которые добавляются в классе |
|
|||||
Регистрация: Oct 2013
Сообщений: 126
|
Всё понял, локальные ссылку обнулять не буду, а те, которые уже обнулил, оставлю как есть. А слабые ссылки уберу - благо, это была подсраховка, а так я всегда первым делом при создании слушателя сразу предусматриваю его удаление.
Ах, да, ещё все анонимные функции уберу, читал где-то на форуме, что они зло. Всем спасибо за советы! |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Если много где нужно убрать анонимные функции, то проще по форуму поискать когда их можно использовать и когда нельзя.
|
|
|||||
Регистрация: Oct 2013
Сообщений: 126
|
да нет, спасибо, у меня их всего десяток, так что там дел на пару минут. А есть случаи, когда их лучше оставить?
|
|
|||||
http://flash.digy.net/2008/04/%D0%BF...8%D0%BB%D0%BE/
раз, дальше используйте исключительно растр, два, и придёт с опытом, три.
__________________
There is no thing in this world that is not simple. |
|
|||||
Интересно, что нить утратило актуальность за 7 лет?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
Часовой пояс GMT +4, время: 20:49. |
|
« Предыдущая тема | Следующая тема » |
Теги |
.. |
|
|