Flex组件生命周期存在三个阶段:1、诞生;2、生存;3、死亡。
事件顺序 preinitialize,initialize,creationComplete
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
preinitialize="onPreinitialize(event)"
initialize="onInitialize(event)"
creationComplete="onCreationComplete(event)"
elementAdd="onElementAdd(event)"
elementRemove="onElementRemove(event)"
applicationComplete="onApplicationComplete(event)"
width="100%" height="100%">
<!--上述相应时间的方法均采用 on某时间 的命名规则-->
<fx:Script><![CDATA[
import spark.events.ElementExistenceEvent;
import mx.events.FlexEvent;
[Bindable]
private var _text:String = "";
protected function onPreinitialize(event:FlexEvent):void {
_text += "onPreinitialize: " + event + "\n";
}
protected function onInitialize(event:FlexEvent):void {
_text += "onInitialize: " + event + "\n";
}
protected function onCreationComplete(event:FlexEvent):void {
_text += "onCreationComplete: " + event + "\n";
}
protected function onApplicationComplete(
event:FlexEvent):void {
_text += "onApplicationComplete: " + event + "\n";
}
protected function onElementAdd(event:ElementExistenceEvent):
void {
_text += "onElementAdd: " + event + ", target = " +
event.element + "\n";
}
protected function onElementRemove(
event:ElementExistenceEvent):void {
_text += "onElementRemove: " + event + "\n";
}
]]></fx:Script>
<s:layout>
<s:VerticalLayout paddingLeft="10" paddingTop="10"
paddingRight="10" paddingBottom="10"/>
</s:layout>
<s:Button id="kenny" label="移除按钮!"
click="removeElement(kenny)"/>
<s:TextArea id="debugTA" text="{_text}" width="100%"
height="100%"/>
</s:Application>
运行后,页面会打印每个时间所相应的状态,先后执行顺序即为打印顺序。