Flex Component Life Cycle
The lifecycle of component in flex is certainly somewhat similar to the old V2 framework where you create a component holder,craetechildren,set-sizes and dispatch events. Following four methods plays a role for component rendering
Here is what I found after doing some studies. The most of the following part is taken from Adobe flex help however what I am trying to do here is to elaborate it more by putting up some comments to each step to make it clearer. The green comments shows the methods and events performed by or on component itself whereas the comments in blue represents the methods and events performed on or by the parent container. Following steps are demonstrating the Button component life cycle
//– The preinitialize event(mx.events.FlexEvent) is triggered when the UIComponent is in a very raw stage and there is no children in existence at that time
createChildren is a protected method of UIComponent class which we need to override when we create a subclass of the UIComponent. Also from within an override of the createChildren() method,you call the addChild() method to add each child object. You do not call this method directly. Flex calls the createChildren() method in response to the call to the addChild() method to add the component to its parent.
invalidateProperties() marks a component so that its commitProperties() method gets called during a later screen update. invalidateSize () Marks a component so that its measure() method gets called during a later screen update. invalidateDisplayList () Marks a component so that its updateDisplayList() method gets called during a later screen update. The only exception to this rule is that Flex does not call the measure() method when the user sets the height and width of the component.
Initizlize event gets dispatched when the component has finished its construction and has all initialization properties set. After the initialization phase,properties are processed,the component is measured,laid out,and drawn. After which the creationComplete event is dispatched.
The childAdd event is dispatched when the addChild() or addChildAt() method is called. At the time when this event is sent,the child object has been initialized,but its width and height have not yet been calculated,and the child has not been drawn on the screen. If you want to be notified when the child has been fully initialized and rendered,then register as a listener for the child’s creationComplete event.
Dispatched when the component has finished its construction and has all initialization properties set. After the initialization phase,and drawn,after which the creationComplete event is dispatched.
Advertisement
Tags:
actionscript 3 tutorial, AS3 component life cycle, Flex component life cycle, flex component tutorial, Flex custom component development
12 Responses to "Flex Component Life?Cycle"Great post – thanks! I sent this around some colleagus as I thought you hit the nail on the head,nice to see the components manual condensed and easy to swallow
Reply
Good Post
Reply
Great post and lots of detail! http://simplyolaf.blogspot.com/2009/06/adobe-flex-3-components-lifecycle.html
Reply
Hey Yogesh really a good and helpfull post.
Reply
i am on among got benifitted out of this blog. simply awesome cleared all my confusions
Reply
[...] http://flexcomps.wordpress.com/2008/05/09/flex-component-life-cycle/ [...]
Reply
[...] Flex UIComponents avoid any causality issue by using a “validation” lifecycle and the UIComponent::commitProperties() [...]
Reply
i m excellent
Reply
Ultimate… even after working for more than 4 years in Flex,the life cycle was confusing me,thankx for taking the pain to scribble it down. Cheers
Reply
[...] an ultimate guid see here : http://flexcomps.wordpress.com/2008/05/09/flex-component-life-cycle 19) How invalidate / commitProperties work specifically 20) Questions about dataServices 21) A [...]
Reply
[...] http://flexcomps.wordpress.com/2008/05/09/flex-component-life-cycle/ http://www.developmentarc.com/site/sites/default/files/understanding_the_flex_3_lifecycle_v1.0.pdf [...]
Reply
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
1 | McQuillen Interactive ? Blog Archive ? Flex component lifecycle … can you explain that again?
November 12,2008 at 3:29 pm
[...] Flexcomp’s Weblog [...]