<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute"
    creationComplete="onCreationComplete()" 
    xmlns:components="components.*" viewSourceURL="srcview/index.html">
    
    <mx:Script>
        <![CDATA[
            import components.ObjectCache;
            import components.RendererUtil;
            import components.CircleRenderer;
            
            private static const children : Number = 100;
            
            private function onCreationComplete() : void
            {
                this.addEventListener( Event.ENTER_FRAME, onEnterFrame );
            }
            
            private function onEnterFrame( event : Event ) : void
            {
                while ( circlesContainer.numChildren > 0 )
                {
                    ObjectCache.setRenderer( circlesContainer.removeChildAt( 0 ) as CircleRenderer );
                }
                
                for ( var x : Number = 0; x < children; x ++ )
                {
                    var renderer : CircleRenderer = ObjectCache.getRenderer();
                    RendererUtil.updateRenderer( renderer );
                    circlesContainer.addChild( renderer );
                }
            }
            
        ]]>
    </mx:Script>
    
    <mx:Canvas width="100%" height="100%" 
        id="circlesContainer"
        horizontalScrollPolicy="off"
        verticalScrollPolicy="off" >
    </mx:Canvas>
    
    <components:MemoryMonitor title="Cache" top="10" left="10" />
    
</mx:Application>