Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как правильно "выгружать" подгружаемые флешки? (http://www.flasher.ru/forum/showthread.php?t=122443)

vm_tw 11.03.2009 13:17

Как правильно "выгружать" подгружаемые флешки?
 
Код AS3:

var loader:Loader = new Loader();
stage.addEventListener(MouseEvent.CLICK, clickHandler);
 
var request:URLRequest=new URLRequest("test.swf");
loader.load(request);
 
toload.addChild(loader);
 
function clickHandler(event:MouseEvent) : void {
        loader.unload();
        loader = null;
        toload.removeChildAt(0);
}

один нюанс. test.swf содержит один клип состоящий из 10 кадров, в десятом кадре которого стоит trace ("frame 10");

в результате после удаление трейс благополучно продолжает отсчитывать десятый кадр.

сборщики мусора не очищают. ни через localConnection, ни через system.gc();

CrazyFlasher 11.03.2009 13:33

в flashPlayer 10 появилась фишка для Loader
Код:

unloadAndStop();
попробуйте если есть возможность

vm_tw 11.03.2009 15:12

спасибо! это уже что то, не знал про нее.. но работает не всегда, начинаются проблемы с встроенным видео, если оно лежит дальше второго уровня вложенности

litebox 11.03.2009 19:59

я бы сначала делал removeChild(), а уж потом unload(). Еще рекомендуется делать stop(), чтобы анимация в подгруженной флэшке не выполнялась - иначе пока сборщик мусора до нее "не доберется" бегать там все будет все равно :)

incvizitor 18.03.2009 19:11

Кстати, насчёт garbege collection, во флеше можно указать вручную уничтожить объект???

mre 18.03.2009 19:53

GC всё прекрасно удаляет, если объект подготовлен к этому.


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

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