Apache flex 创建延迟组件时显示弹出窗口

Apache flex 创建延迟组件时显示弹出窗口,apache-flex,Apache Flex,我有一个具有ViewStack的应用程序。这个堆栈大约有15个全屏面板,每个面板都有很多功能。因此,每个面板的子级的创建将延迟(使用creationPolicy),直到需要它们为止。在开始创建面板之前,我想将某些内容显示为模式弹出窗口(请稍候…),如下所示: PopUpManager.addPopUp(myPopup, FlexGlobals.topLevelApplication.root, true); LayoutManager.getInstance().usePhasedInstan

我有一个具有ViewStack的应用程序。这个堆栈大约有15个全屏面板,每个面板都有很多功能。因此,每个面板的子级的创建将延迟(使用creationPolicy),直到需要它们为止。在开始创建面板之前,我想将某些内容显示为模式弹出窗口(请稍候…),如下所示:

PopUpManager.addPopUp(myPopup, FlexGlobals.topLevelApplication.root, true);

LayoutManager.getInstance().usePhasedInstantiation = false; 
theStack.thePanel.createComponentsFromDescriptors(true);
LayoutManager.getInstance().usePhasedInstantiation = true;

PopUpManager.removePopUp(instance);
但当然,似乎发生的是什么都没有显示,创造发生了, 持续几秒钟后,弹出窗口迅速出现并消失


在继续之前,我如何强制弹出窗口在addPopUp之后显示?

我很好奇:在需要几秒钟才能创建的面板中发生了什么?即使创建几千个组件也不会花那么多时间。你在做一些繁重的计算吗?这是个谜,不是吗?我们有很多自定义mx组件,每个组件都有几个属性。在浏览器上这没什么大不了的,但在iPad2上运行的Flex移动应用程序中,这一点很明显。mx组件一开始并不是特别轻。您应该只在移动应用程序中使用Spark组件,即使这样,您也应该避免使用其中的一些组件(如DataGrid)。但我想你已经知道了。至于你的问题:我想你应该听听弹出窗口的创建事件;然后开始初始化面板并侦听其创建事件;然后删除弹出窗口。