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

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

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

Регистрация: Sep 2015
Сообщений: 20
По умолчанию Корректное удаление объекта

допустим у меня в векторе хранятся объекты которые я хочу удалить.
я делаю
Код AS3:
var layer:Layer;
for (var i:int = _layers.length-1; i >= 0; i--)
{
            layer = _layers[i];
            if (layer.hasEventListener(StateEvent.CHANGE_STATE))
            {
                layer.removeEventListener(StateEvent.CHANGE_STATE, dispatchEvent);
            }
            layer.dispose();
            _layers.pop();
}
при условии что dispose() этих объектов написан правильно, этого достаточно?

Теперь сам dispose, если в объекте который я удаляю есть массив, то после удаления всех элементов из него, нужно занулить сам массив? Что еще нужно занулять? Все объекты который созданы через new?
А ссылки на объекты которые были переданы из вне? Number'ы и Boolean'ы занулять не нужно?
Код AS3:
public function dispose():void
    {
        for (var i:int = _items.length-1; i >= 0; i--)
        {
            _items[i].dispose();
            _items.pop();
        }
        _items = null;
        _rect = null;
        _model = null;
    }
Поправьте или подтвердите пожалуйста мои предположения

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

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

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


 


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


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