![]() |
garbage collector
Здравствуйте.
Есть класс А. У него есть метод а(). Внутри метода создается объект класса Б, который самостоятельно рисует мувиклип (именно рисует, не наследует от мувиклипа) - допустим, диалоговое окно. При нажатии кнопки диалогового окна, клип окна ремувится. Теперь вопрос - что будет с объектом Б. Подметет ли его мусорщик плеера? |
инстанс на Б в классе А никуда ведь не девается. Значит не подметет
|
что значит "инстанс" - инстанс нэйм мувиклипа? нет-нет, клип удаляется. Вопрос о существовании ссылки на объект класса Б. Объект класса Б был задан внутри функции а(). Т.е. по завершении работы функции, все переменные, объявленные внутри нее, должны бы прекратить свое существование.
|
инстанс - ссылка на класс.
Клип удалился, но класс то это ведь не клип, с чего б ему удаляться? |
Обрабатывай вместе с удалением клипа в рамках класса Б инструкцию delete this
Ссылка на объект существует пока существует сам объект. Насколько я подозреваю, при очередной инвентаризации сборщик, не найдя объекта, убъет и ссылку на него. |
Объект класса Б был задан внутри функции а(). Т.е. по завершении работы функции, все переменные, объявленные внутри нее, должны бы прекратить свое существование.
|
Цитата:
. . Цитата:
. . Цитата:
|
тоесть, при следующем обходе мусорщика объект прекратит существование. Я в общем то так и думал, но мне не хватало подтврждения. Спасибо, Dimchansky. delete this я пытался отработать, но trace сразу после него все равно выдавал Object. Конечно, можно поэкспериментировать, но сейчас просто мало времени. В любом случае, всем спасибо.
|
Ответ достаточно прост. Пока есть хотя бы один способ добраться до объекта - объект не будет удаляться сборщиком мусора.
|
| Часовой пояс GMT +4, время: 09:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.