Flex 導航容器的延遲執行個體

      

      汗死,

這幾天做了個遊戲休閒區頁面,其實也沒什麼,。

我用了viewStack 來做導航切換。,剛開始讓 休閒遊戲 組件 viewStack.selectedIndex=0; 加事件。都可以了,

偏偏老大要我把另一個組件 超市漫遊 組件 viewStack.selectedIndex=0; 這下可好,就出錯,老彈出 空對象,也沒有改哪裏啊,不就改了順序嗎?

 搞了一天,還是沒有找到錯誤再哪。問羣里人吧,又不知道怎麼問,總以爲是我的事件寫錯了,只要我第一次點擊上面的導航按鈕就彈錯,點第二次就沒事了,。。最後還是問羣,,,還好有人知道,是什麼 延遲執行 ,。我馬上找google了。,,看了,改一個屬性creationPolicy="all"點擊導航按鈕就沒錯了。,可以鬆一口氣。,不然鬱悶死了。

 

 下面是我找的資料(有興趣的朋友可以看一下):

 

使用延遲執行個體化來改善效能


如果說,效能問題的頭號原因是多餘的容器巢狀產生的不必要測量和版面配置,那麼
第二個原因就是在尚未需要之前,就先建立物件。為避免這個問題,您可以使用延遲
執行個體化。Flex 使用延遲執行個體化來判斷在應用程式啟動時,要建立哪些元件。
在使用延遲執行個體化時,您可決定使用者在哪個階段進行元件建立。容器中包含一
個 creationPolicy 屬性,您可設定它來指定 Flex 何時建立容器(在啟動時、當使
用者導覽至該容器,或根據使用者的動作)。

導航容器有內建的延遲執行個體化
Flex 導覽容器(ViewStack、Accordin、TabNavigator)有內建的延遲執行個體
化。預設的延遲執行個體化操作是指 Flex 未在啟動時建立所有子系檢視,只有當使
用者導覽至該容器時才會觸發它。下列程式碼顯示兩個使用中的導覽容器
TabNavigator 和 ViewStack:
<mx:TabNavigator>
<mx:VBox id="tabNavView1">
<mx:LinkBar dataProvider="myViewStack" />
<mx:ViewStack id="myViewStack">
<mx:VBox id="view1" >
.
.
</mx:VBox>
<mx:VBox id="view2" >
.
.
</mx:VBox>
<mx:VBox id="view3" >
.
.
</mx:VBox>
</mx:ViewStack>
</mx:VBox>
<mx:VBox id="tabNavView2">
.
.
</mx:VBox>
</mx:TabNavigator>

 

TabNavigator 容器會建立 tabNavView1,因為它是當 Flex 執行個體化
TabNavigator 容器時,顯示的第一個檢視。執行個體化 tabNavView1 時,會對
LinkBar 和 ViewStack 的第一個檢視 (view1) 執行個體化。當使用者在 ViewStack
中與 LinkBar 互動,以選擇另一個檢視時,Flex 就會建立此檢視。Flex 會繼續以這
種方式,在呼叫導覽子代時才建立它們。
容器標籤上的 creationPolicy 屬性控制子系檢視的建立。下列清單說明在 Flex 導
覽容器中設定 creationPolicy 屬性時,其每個屬性的功能:

發佈了15 篇原創文章 · 獲贊 1 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章