Flex 的内存回收问题,相信是很多从事flex开发里很头疼的问题,在网上也有一些方法回收内存,今天发现一个非常有效的内存回收方法,我们需要连续调用gc,第一次回收废弃的任何对象的标记和清除老的标记,第二次清除第一次清除对象的标记.
代码如下:
附件中是内存回收的例子.
代码如下:
private var gcCount:int;
private function startGCCycle() : void
{
gcCount = 0;
addEventListener(Event.ENTER_FRAME, doGC);
}
private function doGC(evt : Event) : void
{
flash.system.System.gc();
if(++gcCount > 1)
{
removeEventListener(Event.ENTER_FRAME, doGC);
setTimeout(lastGC, 40);
}
}
private function lastGC():void
{
flash.system.System.gc();
}
附件中是内存回收的例子.