2010-01-04 1424 views
0

我做了下面的代码。我知道这是可怕的写法,但它只是一个包含两个组合框的盒子,并且将一个textinput波纹管添加到VBox中,其ID是“garage”。问题在于,无论如何,当我打开组合框时,程序变慢,使用它变得无法忍受。我想知道你是否对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> 
+0

当我将上述内容添加到一个简单的应用程序时,我没有注意到打开组合框时有任何放缓。你确定减速不是来自其他一些处理吗? (你有没有可用的分析器?) – 2010-01-04 17:59:51

回答

0

正如对我的问题的评论建议,问题不是我显示的代码段。我真的没有想到,我只是想知道我应该寻找什么样的东西。发生了什么事情是因为我有很多屏幕上堆积了大量的组件,当我有了这一个,我打开组合框(只有当我打开组合框,没有弄清楚为什么) ,应用程序真的放慢了速度。因此,我从视图堆栈中抽取了一些组件,并使用add和remove子方法处理它们,现在它又快又快了。

还想知道为什么在一个组件中打开一个组合框会减慢应用程序的运行速度。

0

每次按下点击,都会创建一些新东西。我倾向于扩展一个组件,并且让所有这些项目(如ArrayCollections)准备好在您创建(扩展)按钮时进行初始化。