<?xml version="1.0"?> <!-- charts/MemoryGraph.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initTimer()"> <mx:Script> <!--[CDATA[ import flash.utils.Timer; import flash.events.TimerEvent; import mx.collections.ArrayCollection; [Bindable] public var memoryUsage:ArrayCollection=new ArrayCollection(); public function initTimer():void { // The first parameter in the Timer constructor // is the interval, in milliseconds. The second // parameter is how many times to run (0 is // infinity). var myTimer:Timer=new Timer(1000, 0); // Add the listener for the timer event. myTimer.addEventListener("timer", timerHandler); myTimer.start(); } public function timerHandler(event:TimerEvent):void { var o:Object=new Object(); // Get the number of milliseconds since Flash // Player started. o.time=getTimer(); // Get the total memory Flash Player is using. o.memory=flash.system.System.totalMemory; // Add new object to the ArrayCollection, which // is bound to the chart's data provider. memoryUsage.addItem(o); } ]]--> </mx:Script> <mx:LineChart id="chart" dataProvider="{memoryUsage}" showDataTips="true"> <mx:horizontalAxis> <mx:LinearAxis/> </mx:horizontalAxis> <mx:verticalAxis> <mx:LinearAxis minimum="5000000"/> </mx:verticalAxis> <mx:series> <mx:Array> <mx:LineSeries yField="memory"/> </mx:Array> </mx:series> </mx:LineChart> </mx:Application>