I have a custom list component, that takes in XML and displays a UI object for 
each element. Each of these UI objects can grow and shrink in size, and might 
have to overlap, so I cannot use an itemrenderer. The custom container has a 
commitProperties method that goes roughly like this:

                protected override function commitProperties():void {           
        
                        super.commitProperties();
                        
                        if(_dataProviderDirty){
                                for each(var el:XML in dataProvider){
                                        var newChild:CustomUITile = new 
CustomUITile();
                                        newChild.data = el;
                                        addChild(newChild);
                                }
                        }
                        _dataProviderDirty = false;

                }


I'm wondering if this commitProperties method is the right place to do these 
child instantiations? The CustomUITiles are kinda detailed, and can take ~30ms 
to construct and add a single object. If there are 50 object, that leads to 
noticable slowdown for users.

Is there a better way I should be handling these constructions? I don't mind if 
the overall time to create the objects is unchanged, but I don't want the UI to 
lock up.

I've been experimenting with breaking up the instantiations using a Timer, so 
Flash can update the screen in between workloads, but I'm wondering if I'm just 
making bad use of the Flex component lifecycle, and that is causing the delay...

Thanks for any advice!

Reply via email to