文档介绍:FLEX内存释放
个人认为,flashPlayer内存占用高很大程度上不是因为无法手动GC,而是因为设计上的失误(是天真地以为flash/flex像C#/java 那样有防止内存泄露的完善的机制)而导致无穷无尽的内存占用。如果你经常被这些问题困扰,那么你有幸了,因为你遇到了猫粮,遇到了能帮你把应用内存占用降下来的文章。
 测试环境的建立
为了测试环境的纯净,在数据输出方面我只使用了Trace。
下面是MemoryMonitor的代码:(可怜徐灿的代码被我整容了...大概只保留了定时器还有CallBackFunction)
这个东西主要用于每隔一秒就检测一次内存,并且执行一次callBackFunction。
复制内容到剪贴板代码:
<?xml version="" encoding="UTF-8"?>
<mx:Canvas xmlns:mx=6/mxml
plete="start()">
<mx:Script>
<![CDATA[
import ;
private var timer:Timer;
public var interval:int = 1000;
public var callbackFunction:Function = null;
private function timerHandler(event:TimerEvent):void
    {
        trace("Time:"+getTimer()+"cur:"+)
        if (callbackFunction != null)
            callbackFunction();
    }
    public function start():void
    {
        timer = new Timer(interval);
        ("timer", timerHandler);
        ();
    }
    public function stop():void
    {
        ();
        ("timer", timerHandler);
        timer = null;
    }
]]>
</mx:Script>
</mx:Canvas>
主程序代码
这个就是上面提到的两贴代码的宿主了。我们只需要更改enterFrameHandler这个函数就能对数据进行测试。
徐灿的原版代码将在最后奉上.....
复制内容到剪贴板代码:
<?xml version="" encoding="UTF-8"?>
<mx:Application xmlns:mx="6/mxml" layout="absolute"
    xmlns:local="*">
    <mx:Script>
        <![C