Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.08.2010, 13:38
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 11  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
В CASALib, как я понял, по destroy() удаляются все ссылки на объект только в тех объектах, которые сами имплементят интерфейс IDestroyable. Т.е. если пользоваться только CasaSprite, CasaMovieClip, CasaLoader, Interval, DestroyableEventDispatcher и иже с ними, то все будет волшебно!

Старый 24.08.2010, 13:54
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 12  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А не проще провоцировать GC, вместо всего этого огорода? Вот например у silin-а есть http://silin.su/#AS3/utils/gc
__________________
Поймай яблоко 2!

Старый 24.08.2010, 13:57
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 13  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
Цитата:
Сообщение от Zebestov Посмотреть сообщение
А не проще провоцировать GC, вместо всего этого огорода? Вот например у silin-а есть http://silin.su/#AS3/utils/gc
Какой смысл его провоцировать, если результата не будет?

Старый 24.08.2010, 14:04
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 14  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Да... тему увели в сторону и я забыл о корнях проблемы =)
А можно подробней описать ситуацию, при которой на один объект есть неконтролируемое количество ссылок?
__________________
Поймай яблоко 2!

Старый 24.08.2010, 14:12
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 15  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
Количество ссылок всегда контролируемое. Мы же создаем их сами. И обнулять должны тоже сами. Единственное исключение, насколько я знаю - Dictionary, GC на ссылки в Dictionary не обращает внимания.

Старый 24.08.2010, 14:14
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 16  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
ну тогда проблемы как таковой нет — где плодим, там и следим за "исчезновением популяции"
__________________
Поймай яблоко 2!

Старый 24.08.2010, 14:27
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 17  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
bebop, не верно.

У Dictionary есть ключ weakKeys, по типу weakReference у EventDispatcher::addEventListener, который как раз указывает, учитывать ли GC эти ссылки, или не учитывать.

К тому же, простое зануление ссылки на объект не даёт гарантии того, что это дело удалится из памяти. Если использована чертовски высокая завязанность (например, когда есть объект а и объект б, у объекта а тыща ссылок на объект б, а у объекта б тыща ссылок на а, зануляем ссылки на а и на б, но не зануляем ссылки из а на б и из б на а) то GC вполне может запутаться и решить, что это дело чистить не надо. Это я к пользе методов "псевдодеструкторов".

Старый 24.08.2010, 14:36
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 18  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
Да, точно.

Старый 24.08.2010, 14:52
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 19  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от bebop Посмотреть сообщение
В CASALib, как я понял, по destroy() удаляются все ссылки на объект только в тех объектах, которые сами имплементят интерфейс IDestroyable. Т.е. если пользоваться только CasaSprite, CasaMovieClip, CasaLoader, Interval, DestroyableEventDispatcher и иже с ними, то все будет волшебно!
Не, не будет, не помню точно уже почему, но destroy() удаляет не все ссылки.

Старый 24.08.2010, 15:10
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 20  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
Цитата:
Сообщение от Bgg Посмотреть сообщение
Не, не будет, не помню точно уже почему, но destroy() удаляет не все ссылки.
У меня все удаляет

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.