Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   removeChild и сборка мусора (http://www.flasher.ru/forum/showthread.php?t=138467)

Zebestov 08.04.2010 20:08

Цитата:

Сообщение от sinya (Сообщение 898981)
бла-бла-бла... Сам-то пробовал?

регулярно.
на "бла-бла-бла" тебе ответили: после (разумеется)

а теперь по существу. ты что тут спрашиваешь?
- как гарантировать смерть ненужного уже мувика?
- или как инициировать немедленное его удаление — поторопить GC?

на первый вопрос тебе дали исчерпывающие ответы с кодом даже.
на тему второго (который вдруг всплыл) вот

Psycho Tiger 08.04.2010 21:26

Цитата:

бла-бла-бла... Сам-то пробовал?
Это где ты бла-бла-бла у sinya увидел?

Цитата:

Ну вот я и хочу узнать, когда все-таки срабатывает GC. Я ждал минуту, ничего. )
При создании кучи объектов он скорее всего вызовется. Всё зависит от звёзд андромеды или вызова unloadAndStop у Loader`а.

Zebestov 08.04.2010 22:23

Цитата:

Сообщение от Psycho Tiger (Сообщение 899018)
Это где ты бла-бла-бла у sinya увидел?

да вот:

Цитата:

гм, а когда мне писать mc = null? Если до removeChild(mc), то он не поймет, что ему ремувить, если после - то сборщик мусора разочаруется, т.к. при removeChild(mc), mc != null.
читай "бла-бла-бла". потому что это не вопрос. это болтовня: "а когда же нам обнулить ссылку на объект, который мы потом хотим по этой же ссылке вычеркнуть из списка?" :cool: хм... дай подумать... не торопи...

expl 08.04.2010 23:20

Цитата:

Сообщение от random13 (Сообщение 898965)
я думаю как минимум на него ссылаются переменные

Ну и что? Переменные освобождаются как только управление покидает функцию (случаи с анонимными функциями которые захватывают весь контекст переменных и держат его пока эту функцию никто не прибьет и до нее не доберется GC не всчет)

Здесь чисто у GC не было повода пошевилиться и очистить память.
Уничтожить объект в обход GC нельзя - так что перед удалением на него ссылок - осанови его - это общепринятая практика.

Psycho Tiger 08.04.2010 23:41

Цитата:

читай "бла-бла-бла". потому что это не вопрос. это болтовня: "а когда же нам обнулить ссылку на объект, который мы потом хотим по этой же ссылке вычеркнуть из списка?" хм... дай подумать... не торопи...
Это очень некрасиво, делать цитату от человека чего он не говорил.

К тому же, он нам сказал путь своих размышлений, что он думал и пришел в тупик. Например, я могу сказать что он ошибочно считает, что после removeChild вызывается GC.

Zebestov 08.04.2010 23:55

"очень некрасиво" ставить под сомнение простой совет фразой типо "Сам-то пробовал?". прекращаем флудить =) ответы даны. все должно быть понятно.

random13 09.04.2010 00:17

Цитата:

Сообщение от expl (Сообщение 899032)
Ну и что? Переменные освобождаются как только управление покидает функцию (случаи с анонимными функциями которые захватывают весь контекст переменных и держат его пока эту функцию никто не прибьет и до нее не доберется GC не всчет)

Здесь чисто у GC не было повода пошевилиться и очистить память.
Уничтожить объект в обход GC нельзя - так что перед удалением на него ссылок - осанови его - это общепринятая практика.

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


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

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