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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.08.2010, 20:53
Robotex вне форума Посмотреть профиль Отправить личное сообщение для Robotex Найти все сообщения от Robotex
  № 1  
Ответить с цитированием
Robotex

Регистрация: Aug 2010
Сообщений: 91
По умолчанию Количество ссылок на объект

Скажите, возможно ли во флеше получить число объектов, ссылайщихся на данный? Или может хотя бы есть эвент, возникающий при удалении объекта либо ссылки на него?

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Нет, невозможно.
Эвент есть. У него есть имя, которое нельзя произносить, но оное не важно: при удалении последней ссылки на объект нельзя поймать событие о том, что все ссылки были удаленны. Потому что событие тоже ловится через ссылку.

Старый 22.08.2010, 22:57
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 3  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
У сишников сборщика мусора нет - они выкручиваются с помощью прокси - счетчика сылок, чтобы знать когда уничтожать объект,
впринципе тоже можно сделать и для флеша, но нативно это сделать не удастся
В каждом элементе, использующем объект нужно будет ослеживать момент, когда он более не используется и говорить об этом счетчику ссылок.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
expl, забавно =)
Однако я придерживаюсь мнения что автору это нафиг ненужно. Либо цель образовательная, либо он что-то делает неправильно.

Старый 23.08.2010, 04:19
Robotex вне форума Посмотреть профиль Отправить личное сообщение для Robotex Найти все сообщения от Robotex
  № 5  
Ответить с цитированием
Robotex

Регистрация: Aug 2010
Сообщений: 91
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
expl, забавно =)
Однако я придерживаюсь мнения что автору это нафиг ненужно. Либо цель образовательная, либо он что-то делает неправильно.
неправильно как раз доверять корявому сборщику мусора, который работает только когда память окончательно заканчивается

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Robotex Посмотреть сообщение
неправильно как раз доверять корявому сборщику мусора, который работает только когда память окончательно заканчивается
Чего это он корявый? По вашему он должен чистить память когда её полным полно?)

Количество ссылок на объект можно увидеть в profiler'e FlashBuilder.

А ещё есть CASA lib, в ней почти все основные классы обладают методом destroy, который типо удаляет все ссылки на объект... но вобщем это в идеале, мне в свое время не помогло, в итоге написал свой destroy для плодящихся объектов, чего и вам советую.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Сообщение от Robotex Посмотреть сообщение
неправильно как раз доверять корявому сборщику мусора, который работает только когда память окончательно заканчивается
Ха-ха, ну хорошо)
Как Вы почистите память без GC?)

Старый 23.08.2010, 15:56
Robotex вне форума Посмотреть профиль Отправить личное сообщение для Robotex Найти все сообщения от Robotex
  № 8  
Ответить с цитированием
Robotex

Регистрация: Aug 2010
Сообщений: 91
Цитата:
Сообщение от Bgg Посмотреть сообщение
Чего это он корявый? По вашему он должен чистить память когда её полным полно?)
кроме флеша у пользователя запущены и другие приложения, которым тоже нужна память. И ему будет не очень приятно, если все это начнет тормозить

Цитата:
Сообщение от Bgg Посмотреть сообщение
в итоге написал свой destroy для плодящихся объектов, чего и вам советую.
можно поподробнее?

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Robotex Посмотреть сообщение
можно поподробнее?
Ну э, метод в котором объект отписывается от слушателей, останавливает таймеры, удаляет внутренние объекты, обнуляет ссылки и тд и тп. За вас это делать никто не будет, так что придется об этом позаботится.

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
Robotex вы можете только подготовить объект к удалению из памяти, но не удалить
__________________
low +

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

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

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


 


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


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