本文主要是介绍creationPolicy控制容器子项创建策略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ActionScript 值可以是 ContainerCreationPolicy.AUTO
、ContainerCreationPolicy.ALL
、ContainerCreationPolicy.NONE
ContainerCreationPolicy.QUEUED
。 或
MXML 值可以是 "auto"
、"all"
、"none"
或 "queued"
。
如果没有为容器指定 creationPolicy
,则该容器将继承其父项的 creationPolicy
。如果没有为 Application 指定 creationPolicy
,则默认为 ContainerCreationPolicy.AUTO
。
ContainerCreationPolicy.AUTO
的 creationPolicy
意味着容器将延迟创建部分或全部后代,直到需要它们时为止。此进程称为延迟实例化 。此策略能使启动时间达到最佳,因为最初只创建很少的 UIComponent。但是,当用户首次导航到应用程序的其它部分时,这将引入导航延迟。导航器容器(如 Accordion、TabNavigator 和 ViewStack)通过立即创建其所有子项实现 ContainerCreationPolicy.AUTO
策略,但要等到子项成为导航器容器的所选子项时才创建该子项的更深层的后代。
ContainerCreationPolicy.ALL
的 creationPolicy
意味着导航器容器会立即创建每个子项的更深层的后代,而不必等待选择该子项。
对于单一视图容器(如 VBox 容器),ContainerCreationPolicy.AUTO
和 ContainerCreationPolicy.ALL
策略没有区别。
ContainerCreationPolicy.QUEUED
的 creationPolicy
意味着要将容器添加到创建队列,而不是立即进行实例化和绘制。应用程序处理列队容器时,将创建容器的子项,并等待创建子项后才前进到创建队列中的下一个容器。
ContainerCreationPolicy.NONE
的 creationPolicy
意味着容器不创建其子项。在这种情况下,由 MXML 作者负责通过调用 createComponentsFromDescriptors()
方法来创建子项。
notice:使用auto是你可能会莫名其妙的发现程序报错,如无法引用空对象的属性或方法等。那就很可能是在初始化过程中使用到了尚未加载部分的对象。
这篇关于creationPolicy控制容器子项创建策略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!