|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+1 02.09.15]
Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
|
Вопрос по целесообразности применения статических методов для деактивации объектов
Решил все часто используемые функции вынести в общий класс.
Для того, чтобы постоянно не создавать новый экземпляр класса, решил сделать все методы в нем статическими. Поэтому возник следующий вопрос про целесообразность некоторых из них: является ли необходимым наличие метода disposeCommonLoader и его дальнейшее применение? Хотелось бы разобрать этот вопрос на примере загрузчика. Вот мой класс: package { import flash.display.Sprite; import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; public class CommonFunctions extends Sprite { public static var commonLoader:Loader; public function GameGraphics() { }; public static function loadObject(adress:String, commonOnLoad:Function):void { var commonLoaderUrlReq:URLRequest = new URLRequest(adress); commonLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, commonOnLoad); commonLoader.load(commonLoaderUrlReq); }; public static function disposeCommonLoader(commonOnLoad:Function):void { commonLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, commonOnLoad); commonLoader = null; }; }; } Вот и становится мне не понятно, стоит ли принудительно обнулять лоадер с помощью статического метода и удалять слушатель, либо при следующем запуске сборщика мусора за мной все подчистится само (ведь экземпляра самого класса CommonFunctions нету)? Последний раз редактировалось Furinax; 30.12.2009 в 13:32. |
|
|||||
[+1 02.09.15]
Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
|
Но ведь при дальнейшем использовании статических методов класса, переменной экземпляра commonLoader будет присваиваться новый экземпляр класса Loader. И что тогда будет с прошлым экземпляром: он удалится сборщиком мусора или же так и останется висеть, так как commonLoader является переменной экземпляра?
|
|
|||||
[+1 02.09.15]
Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
|
Значит не зря я написал функцию деактиваци. Буду продолжать в том же направлении, всем спасибо!
|
|
|||||
[+1 02.09.15]
Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
|
Ну раз разницы нету во внешнем она или во внутреннем, то пусть будет во внешнем. Это дает мне возможность сократить количество строк кода, активируя лоадер с помощью всего одной строки.
|
Часовой пояс GMT +4, время: 11:19. |
|
« Предыдущая тема | Следующая тема » |
|
|