|
|
|||||
Регистрация: Nov 2005
Сообщений: 1,155
|
не волнуйся, у меня в голове памяти не 64 кб.
А применительно |
|
|||||
стервочка (я мужик)
|
flash33, гы ... знаешь какой перерасход памяти будет?
|
|
|||||
Да я не про голову, а про ОЗУ. Могу сказать по опыту, что основные лики идут от bitmapData, а к ней никак нельзя clone, тогда точно все встанет. Пулы в помощь. Нужно просто качественно программировать, чтобы за всем уследить
__________________
Оптимизация производительности на уровне кода |
|
|||||
Если объект удаляется значит ссылка ведёт в никуда. Смысл в том что программисту легче отследить использование не актуальных ссылок чем наличие левых листенеров и ссылок на класс который использоваться больше не будет, а если и будет то определится по новой с новыми свойствами. Всё же не помешало бы AS такая возможность.
|
|
|||||
стервочка (я мужик)
|
flash33, + сколько нужно будет написать синхронизаций, когда будет такое:
в твоём варианте это будет так: var b:Object = new Object(); function foo(a:Object):Object { a.x = 5; } b = foo( b.clone() ).clone(); Добавлено через 5 минут willis83, одинаково муторно отслеживать и то и то. Вы просто не представляете, что это такое Вам кажется всё станет просто и прекрасно, жизнь начнёт бить ключом, и наступит мир во всём мире. посмотрите на мои примеры повыше, и подумайте, что если у объекта будет структура немного посложнее, а что если надо будет сделать рекурсивную структуру? представьте работу 2х программистов, которым приходится работать с одним объектом, и один решает, что объект больше не нужен. а если таких программистов в 5? и это только верхушка айсберга. |
|
|||||
Регистрация: Nov 2005
Сообщений: 1,155
|
BlooDHounD, с чего ты взял, что я против использования ссылок? Используй их себе на доброе здоровье. Я говорю только о том, что нынешняя система не дпускает принудительной очистки памяти. Это налагает на программиста обязательство отслеживать используемую память, а программист - это не Господь Бог. Если бы существовал механизм принудительной очистки + обработка эксепшенов возникших как следствие обращения к null, то разработка больших приложений была бы гораздо легче.
|
|
|||||
Регистрация: Nov 2008
Сообщений: 528
|
А я соглашусь с flash33.
P.S. А ещё - сделали бы они нормальные указатели... Последний раз редактировалось Stargazer; 31.05.2009 в 16:14. |
|
|||||
Modus ponens
|
Цитата:
(взято из com.gaiaframework.assets.DisplayObjectAsset) override public function destroy():void { if (_loader != null) { _loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress); _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onError); if (_loader.parent) _loader.parent.removeChild(_loader); try { _loader.unload(); } catch (e:Error) { // fail gracefully } _loader = null; } super.destroy(); } Вот вам и "обработка исключений", и "очистка памяти"... Тоесть, так чтобы стало понятнее: - Loader.unload() не генерит исключения никогда. - контент этого лоадера - всегда должен наследоваться от какого-то класса из фреймворка, ни один из этих дурацких классов не слушает Event.UNLOAD, соответственно, как вы можете видеть, никакой альтернативы этому событию не предтавляется (т.е. никаких колбеков / попыток как-то сказать контенту, что нужно начать выгружаться нету). Я себе представляю, чего бы эти кренделя наваяли, будь бы у них возможность еще и за памятью самим следить...
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Цитата:
|
|
|||||
стервочка (я мужик)
|
r_r_f_r, вопрос не ясен.
Stargazer, Вам тут не СИ flash33, не вижу разницы в отслеживании ошибок, и отписки за собой всех событий. те же яйца, только вид сбоку. елси Вам очень хочется возиться с такой фигнёй, то можете использовать такой класс: |
Часовой пояс GMT +4, время: 11:29. |
|
« Предыдущая тема | Следующая тема » |
|
|