Bem, hoje alem do erro do costume apareceu-me um aviso do Windows de low
virtual memory (qq coisa do genero).
Penso que será mesmo de memory leak.
Existe maneira de ao fazer removeChild(swfATocar); ele mandar limpar da
memoria ou mandar para o GC o swf e todos os que ele chamou (inclusive
flv) e apagar?
2008/9/23 André Bento <[EMAIL PROTECTED]>
>
> Um loader para todos.
>
> Vou meter aqui o código do index.swf
>
> package com.bluebox.view
> {
> import flash.display.DisplayObject;
> import flash.display.Loader;
> import flash.display.LoaderInfo;
> import flash.display.MovieClip;
> import flash.display.Stage;
> import flash.net.URLLoader;
> import flash.net.URLRequest;
> import flash.events.Event;
> import flash.events.MouseEvent;
> import flash.system.Security;
> import flash.system.System;
> import flash.ui.Mouse;
> public class Main extends MovieClip
> {
> private var listaDeVideos:Array = [];
> private var currentVideo:Number = 0;
> private var swfATocar:DisplayObject;
>
> public function Main()
> {
> stage.displayState = "fullScreen";
>
> Mouse.hide();
> var request:URLRequest = new
> URLRequest("playlist.xml");
> var loader:URLLoader = new URLLoader;
> loader.load(request);
> loader.addEventListener(Event.COMPLETE,
> xmlLoadCompleteHandler);
> }
>
> private function xmlLoadCompleteHandler(ev:Event):void
> {
> var loader:URLLoader = URLLoader(ev.currentTarget);
> var xmlCarregado:XML = XML(loader.data);
>
> var playlist:XMLList = xmlCarregado.video;
>
> for each(var item:XML in playlist)
> {
> var url:String = item.url;
> listaDeVideos.push(url);
> }
> carregaVideo();
> }
>
> private function carregaVideo():void
> {
> var url:String = listaDeVideos[currentVideo];
> var l:Loader = new Loader();
> l.load(new URLRequest(url));
> l.contentLoaderInfo.addEventListener(Event.COMPLETE,
> loaderCompleteHandler);
> }
>
> private function loaderCompleteHandler(e:Event):void
> {
>
> var info:LoaderInfo = e.currentTarget as LoaderInfo;
> var swfCarregado:DisplayObject = info.content;
>
> addChildAt(swfCarregado,2);
>
> swfATocar = swfCarregado;
>
> swfCarregado.addEventListener("finish",
> finishHandler);
> }
>
> private function finishHandler(ev:Event):void
> {
>
> removeChild(swfATocar);
>
> currentVideo++;
>
> if (currentVideo > listaDeVideos.length - 1)
> currentVideo = 0;
>
> carregaVideo();
> }
> }
>
> }
>
> On 23 Set, 21:58, João Fernandes <[EMAIL PROTECTED]>
> wrote:
> > Só uma dúvida, como estas a carregar os swfs? Usas um loader único para
> > todos eles ou inicializas uma instância por cada?
> >
> > --
> >
> > João Fernandes
> >
> > Adobe Community Experthttp://www.onflexwithcf.orghttp://www.riapt.org
> > Portugal Adobe User Group (http://aug.riapt.org)
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---