Flex的根对象就是SystemManager,而不是我们平常看到的Application。
SystemManager是第一个在Flex应用中被创建的Display Class,继承自flash.dispaly.MovieClip,所以才能实现Preloader和Application的2个frame。
SystemManager有一个topLevelSystemManager对象,指向一个SystemManager实例,是所有当前在flash player运行的任何东西的根(root),如果flex被作为主应用加载到flash player则上述属性将指向其本身(self-refrencing),但当flex应用是被另一flex应用载入的,其自身的SystmenManager的topLevelSystemManager属性则不是自引用了,而是指向其父应用的SystemManager实例。所有UIComponent的子类都有一个systemManager属性指向应用的SystemManager实例,在被SystemManger实例监听的component的事件发生冒泡时,其将拥有事件处理链上最后的处理权。 Preloader
Preloader是一个轻量级的类,在systemManager的第一帧被实例化,preloader会dispatch出一系列的事件,由progress bar监听实现loading界面,一旦应用进入第二帧待application初始化后会借由system manager通知preloader初始化进度,preloader通知system manager其准备待删除,主要是一些初始化设定和下载runtime share library。
Preloader的事件:
progress
Indicates download progress
complete
Indicates that the download is complete
rslError
Indicates that a runtime shared library could not load
rslProgress
Indicates the download progress for a runtime shared library
rslComplete
Indicates that the download is complete for runtime shared libraries
initProgress
Indicates that the application is initializing
initComplete
Indicates that the application has initialized
在理解Preloader的同时也要反方向思考纯AS工程中如何做Preloader,以前就写过 AS3工程 Custom Preloader 动态加载 Application可以进行思考。 Application
Application是我们平日用到的最多的类,在systemManager的第二帧被实例化,它是一个单例化的类,因此无论你new多少个Class它都会指向同一个instance实体,根据创建时间的进度,它同样会dispatch出一系列的事件。
Application的事件:
preinitialize
application已经实例化但尚未创建任何child component
initialize
已经创建child component但未对其进行布局(lay out)
creationComplete
application已经完成实例化并完成所有child component的布局
applictionComplete
已经准备完成Flex SWF必要的初始化
SystemManager是第一个在Flex应用中被创建的Display Class,继承自flash.dispaly.MovieClip,所以才能实现Preloader和Application的2个frame。
SystemManager有一个topLevelSystemManager对象,指向一个SystemManager实例,是所有当前在flash player运行的任何东西的根(root),如果flex被作为主应用加载到flash player则上述属性将指向其本身(self-refrencing),但当flex应用是被另一flex应用载入的,其自身的SystmenManager的topLevelSystemManager属性则不是自引用了,而是指向其父应用的SystemManager实例。所有UIComponent的子类都有一个systemManager属性指向应用的SystemManager实例,在被SystemManger实例监听的component的事件发生冒泡时,其将拥有事件处理链上最后的处理权。 Preloader
Preloader是一个轻量级的类,在systemManager的第一帧被实例化,preloader会dispatch出一系列的事件,由progress bar监听实现loading界面,一旦应用进入第二帧待application初始化后会借由system manager通知preloader初始化进度,preloader通知system manager其准备待删除,主要是一些初始化设定和下载runtime share library。
Preloader的事件:
progress
Indicates download progress
complete
Indicates that the download is complete
rslError
Indicates that a runtime shared library could not load
rslProgress
Indicates the download progress for a runtime shared library
rslComplete
Indicates that the download is complete for runtime shared libraries
initProgress
Indicates that the application is initializing
initComplete
Indicates that the application has initialized
在理解Preloader的同时也要反方向思考纯AS工程中如何做Preloader,以前就写过 AS3工程 Custom Preloader 动态加载 Application可以进行思考。 Application
Application是我们平日用到的最多的类,在systemManager的第二帧被实例化,它是一个单例化的类,因此无论你new多少个Class它都会指向同一个instance实体,根据创建时间的进度,它同样会dispatch出一系列的事件。
Application的事件:
preinitialize
application已经实例化但尚未创建任何child component
initialize
已经创建child component但未对其进行布局(lay out)
creationComplete
application已经完成实例化并完成所有child component的布局
applictionComplete
已经准备完成Flex SWF必要的初始化