Есть флешка которая грузит в себя as2 банеры, спустя какое то время банер удаляется и грузится новый. Проблема в том, что с каждой загрузкой
банера флеш плеер потребляет больше памяти. Как с этим бороться?
а точнее как очистить память от неиспользуемых объектов ?
код:

Код AS3:
package {
import br.com.stimuli.loading.*;
import br.com.stimuli.loading.loadingtypes.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.Timer;
import utils.MemoryController;
public class BanerChanger extends Sprite
{
private var loader: BulkLoader;
private var xmlLoader:BulkLoader = new BulkLoader("XmlLoader");
// private var xmlUrl:String = "cfg.xml";
private var xmlUrl:String;
private var theXML: XML;
private var banerSrcArr:Array = new Array();
private var timersArr:Array = new Array();
private var totalNum:Number;
private var index:Number = 0;
private var currentAVM:AVM1Movie;
private var mMemoryController:MemoryController;
private var frameRateArr:Array = new Array();
public function BanerChanger()
{
super();
xmlUrl = this.loaderInfo.parameters.xml_url;
xmlLoader.add(xmlUrl);
mMemoryController = new MemoryController();
xmlLoader.start();
xmlLoader.addEventListener(BulkProgressEvent.COMPLETE, completeXmlHnd);
}
/**************************************************************************
* @private
* Обработка загрузки ХМЛ
****************************************************************************/
private function completeXmlHnd(evt: BulkProgressEvent) : void
{
theXML = xmlLoader.getXML(xmlUrl);
totalNum = theXML.file.length();
var t:Number;
for each (var banerUrl:XML in theXML.file)
{
banerSrcArr.push(new String(banerUrl));
t=banerUrl.@time;
timersArr.push(t*1000);
frameRateArr.push(banerUrl.@speed);
}
Load(0);
}
/**************************************************************************
* @private
*
****************************************************************************/
private function Load(inx:Number ) : void
{ loader = new BulkLoader("test");
loader.add(banerSrcArr[inx]);
loader.addEventListener(BulkLoader.COMPLETE, onComplete);
loader.start();
}
/**************************************************************************
* @private
*
****************************************************************************/
private function onComplete(evt : BulkProgressEvent) : void
{
currentAVM = loader.getAVM1Movie(banerSrcArr[index], true);
stage.frameRate = frameRateArr[index];
bord.addChildAt(currentAVM,0);
var theTimer:Timer = new Timer(timersArr[index], 1);
theTimer.addEventListener(TimerEvent.TIMER, timerHnd);
theTimer.start();
}
/**************************************************************************
* @private
*
****************************************************************************/
private function timerHnd(evt:Event):void
{
bord.removeChild(currentAVM);
currentAVM = null;
if(index<=totalNum-2){
index++;
}else
{
index=0;
}
loader.clear();
loader.removeAll();
loader = null;
Load(index);
}
}
}
2. на скриншотах дестени и в альтернативе видел приблуду которая показывает фпс и видимо график используемой памяти. что это такое и как её надыбыть?
3. кто какие приёмы и классы использует для управления памятью ?