Hi,
I'm creating a website header, with images and SWFs loaded into it. The code below:
package
{
import com.greensock.events.LoaderEvent;
import com.greensock.loading.ImageLoader;
import com.greensock.loading.LoaderMax;
import com.greensock.loading.SWFLoader;
import com.greensock.loading.XMLLoader;
import com.greensock.loading.core.DisplayObjectLoader;
import flash.display.Sprite;
import flash.display.StageScaleMode;
[sWF(width="960", height="435", frameRate="30", backgroundColor="#FFFFFF")]
public class Header extends Sprite
{
private var types:Object = {png: ImageLoader, jpg: ImageLoader, swf: SWFLoader};
private var queue:LoaderMax = new LoaderMax({onComplete: onQueueComplete});
private var items:XMLList;
public function Header()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.showDefaultContextMenu = false;
LoaderMax.activate([imageLoader, SWFLoader]);
var loader:XMLLoader;
var params:Object = {onOpen: onOpen, onProgress: onProgress, onComplete: onComplete, noCache: true, autoDispose: true};
CONFIG::DEBUG
{
loader = new XMLLoader("data.xml", params);
}
CONFIG::RELEASE
{
loader = new XMLLoader(this.root.loaderInfo.parameters.dataURL, params);
}
loader.load();
}
private function onOpen(e:LoaderEvent):void
{
trace("onOpen");
}
private function onProgress(e:LoaderEvent):void
{
trace("onProgress");
}
private function onComplete(e:LoaderEvent):void
{
var data:XML = e.target.content;
items = data.item;
var i:int = items.length(), item:XML;
var url:String, type:String;
var params:Object = {onComplete: onItemComplete, autoDispose: true};
var loader:DisplayObjectLoader;
while (--i > -1)
{
item = items[i];
url = item.content[0].toString();
type = url.toLowerCase().split("?")[0];
type = type.substr(type.lastIndexOf(".") + 1);
loader = new types[type](url, params);
queue.append(loader);
}
queue.load();
}
private function onItemComplete(e:LoaderEvent):void {}
private function onQueueComplete(e:LoaderEvent):void {}
}
}
Setting autoDispose to true for each loader makes the SWF freeze. Any tips, why is that happening and what to do with it?