![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ZlPredator, подход ленивого программиста, не умеющего за собой убирать.
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Не надо путать параною с аккуратностью. Ты же не пишешь в концах областей видимостей =null у всех переменных, компилятор за тебя уберет ссылки. Так же и здесь - плеер просто не увеличивает счетчик ссылок при weak ссылке.
Я считаю что weak надежнее - всегда есть вероятность запутаться или забыть освободить руками привязку по событию. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А я считаю, что дверь за собой нужно закрывать и это надежнее, чем полагаться на доводчик.
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Это уже идеологический спор из разряда что красивее: круг или квадрат. Да и оффтопом попахивает...
|
|
|||||
|
стервочка (я мужик)
|
ZlPredator, слабые ссылки жрут больше памяти и работают медленнее, а ещё их нельзя удалить, когда тебя захочется, ибо они удаляются сами.
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Как ты это замеряешь? Если можешь, то приведи код
Несмотря на то что они "слабые", ты все равно можешь удалить их с помощью removeEventListener(). Такая ссылка всего лишь не учитывается сборщиком мусора. |
|
|||||
|
стервочка (я мужик)
|
ZlPredator, замеряю? адоба дала в руки профайлер.
могу? .... должен мочь. Добавлено через 53 минуты оказывается в последнем плэйере поправили багу с удалением слабых ссылок ![]() |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 65
|
Поскольку глубокоуважаемый BllodDHound не удосужился ответить, то привожу увеличение на память: в среднем 144 байта на нормального слушателя и 175 на слушателя по слабой ссылке. В итоге, чтобы потратить один лишний мегабайт, необходимо создать около 35000 слушателей, что на флеше само по себе проблематично...
По скорости разницы не заметил... P.S. Не подскажете, в какой версии был баг? На bugs.adobe.com ничего подобного обнаружить не удалось... |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Я бы рекомендовал всё таки доводить до закрытого состояния двери в ручную, а не пологаться на автоматические доводчики дверей, хотя и так и так стоит поэкспериментировать.
__________________
john |
|
|||||
|
стервочка (я мужик)
|
ZlPredator, вы спросили как? я ответил. как-то подробнее описывать не видел необходимости.
1. как вы это замерили такой странный "замер" памяти? 2. как пытались заметить разницу в скорости? 3. баг был, очевидно, в предыдущих версиях. 4. по поводу количества слушателей ... кажется нам это удаётся без каких либо проблем. по моим замерам, разница между объектами равно 16 байт, откуда Вы нарисовали 31, я не знаю. мягкие ссылки на методы оборачиваются в отдельный класс flash.event.WeakMethodClosure, который и должен составлять разницу в 16 байт. дополнительное оборачивание приводит к дополнительной нагрузке на поиск объекта, и соответственно на его вызов, не считая затрат на проверку для очистки ссылки, и объекта обёртки. Последний раз редактировалось BlooDHounD; 28.11.2008 в 15:57. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:32. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| loader , loader as3 |
|
|