组合框会降低Flex的速度

时间:2010-01-04 15:21:43

标签: flex actionscript-3 combobox components

我做了以下代码。我知道它写得非常糟糕,但它只是一个带有两个组合框的盒子,并且文本输入正在被添加到VBox中,其id是“车库”。问题是,无论如何,当我打开组合框时,程序运行速度变慢,使用它再也无法忍受了。我想知道你是否知道ComboBox背后的内容以及当我打开ComboBox时这种“减速”的可能原因......也许是渲染还是什么?我们欢迎任何尝试或寻找的东西。

<mx:VBox width="100%" height="100%" id="garage" initialize="garage.addChild(User.instance.house.garage);" >
            <mx:Label text="Garagem" />
            <mx:Button label="Adicionar automóvel"
                click="var c:VBox = new VBox();
                var h:HBox = new HBox(); 
                var cb1:ComboBox = new ComboBox();
                cb1.dataProvider=new ArrayCollection(['Compacto','Familiar','Carrinha']);
                h.addChild(cb1);
                cb1 = new ComboBox();
                cb1.dataProvider=new ArrayCollection(['Compacto','Familiar','Carrinha']);
                h.addChild(cb1);
                c.addChild(h); c.addChild(new TextInput()); garage.addChild(c);"/>
</mx:VBox>

2 个答案:

答案 0 :(得分:0)

每次按下点击,都会创建一些新事物。我倾向于扩展一个组件,并在创建(扩展)按钮时准备好初始化所有像ArrayCollections这样的项目。

答案 1 :(得分:0)

正如我的问题的评论所示,问题不在于我所展示的代码。我真的没想到,我只是想知道我应该注意什么样的事情。发生了什么事情,我有很多屏幕,在ViewStack上堆积了很多组件,当我再拿一个时,我打开了组合框(只有当我打开组合框时,才弄明白为什么) ,应用程序真的放慢了速度。所以我从视图堆栈中获取了一些组件,并使用add和remove子方法处理它们,现在又快速了。

仍然想知道为什么只在一个组件中打开一个组合框会减慢这样的应用程序。