Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   unloadAndStop не выгружает содержимое (http://www.flasher.ru/forum/showthread.php?t=184732)

XoJlToH 25.09.2012 22:33

unloadAndStop не выгружает содержимое
 
Вложений: 1
Есть приложение, которое может быть запущено очень долго. Внезапно возникла необходимость добавить к этому приложению автоапдейт.
В данный момент приложение грузится лоудером и в случае чего из основного приложения диспатчится событие о необходимости апдейта. Далее пытаюсь выполнять следующий код

Код AS3:

if (loader)
    {
          loader.unloadAndStop(true); //выгружаем из лоудера
          if (some_display_object)
              {
                    removeChild(some_display_object); //убиваем отображение
                    some_display_object= null; //зануляем
              }
          loader = null; //зануляем лоудер
    }

Для теста поставил условия на постоянную перегрузку и наблюдаю такую картинку
То есть лоудер не до конца выгружает содержимое?

Krusty 25.09.2012 23:59

Даже если вы все сделали правильно, то удаление будет происходить не сразу, а только лишь когда всемогущему сборщику мусора будет угодно сие.

XoJlToH 26.09.2012 00:35

Цитата:

Сообщение от Krusty (Сообщение 1097436)
Даже если вы все сделали правильно, то удаление будет происходить не сразу, а только лишь когда всемогущему сборщику мусора будет угодно сие.

параметр в методе unloadAndStop запускает сборщик принудительно

tsarapkabel 26.09.2012 01:10

Цитата:

Сообщение от XoJlToH (Сообщение 1097443)
unloadAndStop

Цитата:

gc:Boolean — Provides a hint to the garbage collector to run on the child SWF objects.
Только помечает для GC, а не запускает его принудительно.

in4core 26.09.2012 01:50

Код AS3:

Только помечает для GC, а не запускает его принудительно.

Скажу больше работает только в дебаге - в релизе нет

derhab 26.09.2012 03:51

Цитата:

Сообщение от in4core (Сообщение 1097450)
Код AS3:

Только помечает для GC, а не запускает его принудительно.

Скажу больше работает только в дебаге - в релизе нет

хватит врать

КорДум 26.09.2012 08:21

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

Добавлено через 18 минут
И еще. Не стоит ориентироваться на ФД-профайлер. Он неверно определяет пакеты (бывает) и частенько задерживает ссылки на объекты, не отдавая их GC. В последний раз я тестировал в FB, но, говорят, в IDEA тоже хороший профайлер.


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

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