2010-01-04 1460 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)準備好在您創建(擴展)按鈕時進行初始化。