How can I free up memory?
I tried set `NULL`, but I can not free memory.
How to free memory after `FileReference.addEventListener(Event.COMPLETE, ...)`?
See my code:
main.as
package {
import com.mainpackage.LoaderTestCase;
import flash.net.FileReferenceList;
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.MovieClip;
public class main extends MovieClip {
private var listFiles:Array;
private var allTypes:Array;
private var fileRef:FileReferenceList;
public function main()
{
listFiles = [];
allTypes = [];
fileRef = new FileReferenceList();
fileRef.addEventListener(Event.SELECT, SELECT);
fileRef.browse(allTypes);
}
private function SELECT(e:Event):void
{
var list:Array = fileRef.fileList;
var file:FileReference;
for each (file in list) {
insert(file);
}
}
private function insert(file:FileReference):void
{
var fire:LoaderTestCase = new LoaderTestCase(file);
fire.destroy(function():void{
fire = null;
});
}
}
}
LoaderTestCase.as
package com.mainpackage
{
import flash.net.FileReference;
import flash.events.Event;
import flash.display.Loader;
public class LoaderTestCase
{
private var file:FileReference;
private var loader:Loader;
private var callback:Function;
public function LoaderTestCase(e:FileReference)
{
file = e;
trace("OPEN: " + file.name);
file.addEventListener(Event.COMPLETE, loadFile);
file.load();
e = null;
}
public function loadFile(e:Event):void
{
file.removeEventListener(Event.COMPLETE, loadFile);
trace("LOAD: " + file.name);
file = null;
e = null;
callback();
}
public function destroy(a:Function):void
{
callback = a;
}
}
}