Adobe官方语言参考是这么解释该事件的:http://livedocs.adobe.com/flex/3_cn/langref/
在加载操作未完成时,Loader 对象的 contentLoaderInfo
属性的某些属性不可用。您可以获得某些属性,如 bytesLoaded
、bytesTotal
、url
、loaderURL
和applicationDomain
。当 loaderInfo
对象调度 init
事件时,您可以访问loaderInfo
对象以及加载的图像或 SWF 文件的所有属性。
当已加载的 SWF 文件的属性和方法可供访问并做好使用准备时进行调度。不过,内容可能仍在下载之中。如果存在以下条件,则 LoaderInfo 对象将调度init
事件:
- 可以访问与加载的对象关联的所有属性和方法以及与 LoaderInfo 对象关联的属性和方法。
- 所有子对象的构造函数已完成。
- 已执行所加载的 SWF 主时间轴的第一帧中的所有 ActionScript 代码。
例如,在加载影片或动画的第一帧时将调度 Event.INIT
。然后,影片将可供访问并可添加到显示列表中。不过,下载完整的影片可能需要花更长的时间。只有在加载了完整的影片之后才会调度Event.COMPLETE
。
init
事件始终在 complete
事件之前。
注意红色部分,Flex程序的生命就是在这种条件下展开的。
Event.INIT只发出一次,要及时注销该事件的监听器,Flex也这么做了。