FlexApplication初始化順序是怎么樣的

這篇文章將為大家詳細講解有關FlexApplication初始化順序是怎么樣的,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到來賓網站設計與來賓網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、申請域名、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋來賓地區(qū)。

Flex組件在建立的時候都會經歷四個事件:preinitialize, initialize, creationComplete和updateComplete,而FlexApplication初始化順序是preloader->systemManager->FlexApplicationstarted。

FlexApplication初始化順序

FlexApplication初始化順序是preloader->systemManager->FlexApplicationstarted...

◆preinitialize

在所有的初始化之前觸發(fā),沒有子組件的定義,但是可以引用組件的變量.

◆initialize

當所有子組件生成完成后觸發(fā),在這個時間點還沒有組件被渲染出來.

◆reationComplete

組件定義完成并已經在顯示列表.

◆applicationComplete

所有的組件初始化完成并顯示.

首先介紹一下SystemManager.SystemManager是Flex應用的主控者,它控制著應用窗口,Application實例,彈出窗口,cursors,并管理著ApplicationDomain中的類.SystemManager是FlashPlayer實例化的***個類,它存儲了主應用窗口的大小和位置信息,保存其子組件比如:浮動彈出窗口和模態(tài)窗口的痕跡.通過SystemManager可以獲得內嵌字體,樣式和document對象.
自定義的可視化組件(UIComponent的子類)只有在調用過addChild()后,才會有一個SystemManager賦給他們,之前是Null.所以在自定義可視化組件的構造函數中不要使用SystemManager.

Application對象創(chuàng)建時發(fā)生事件:

1.實例化Application對象
2.FlexApplication初始化Application.systemManager
3.Application在初始化過程之前,派發(fā)預初始化事件.
4.調用createChild().此時,所有應用組件被創(chuàng)建,所有組件的createChild()被調用.
5.Application派發(fā)初始化事件,表明所有的組件初始化完畢.
6.派發(fā)creationComplete事件
7.Application對象添加到顯示列表中
8.派發(fā)applicationComplete事件

大多數情況下,我們使用<mx:Application>來創(chuàng)建application對象,但如果使用ActionScript來創(chuàng)建的話,那么建議不要在application的構造函數中創(chuàng)建組件,推薦在crateChildren函數中,主要是從性能方面考慮.

Flash包含的是一個時間線上的多個幀,而Flex的SWF只包含2個幀.SystemManager,Preloader,DownloadProgressBar和少量工具類都在***幀,剩下的包括應用代碼/內嵌資源全都在第二幀中.當FlashPlayer下載下載SWF時,只要接收到***幀內足夠的數據,就會實例化SystemManager,由它來創(chuàng)建Preloader,然后創(chuàng)建DownloadProgressBar,這兩個對象會察看剩余字節(jié)的傳輸過程.當***幀的所有字節(jié)傳輸完畢后,SystemManager發(fā)送enterFrame到第二幀,然后是其他事件.***Application對象派發(fā)applicationComplete事件.

Flex是一個事件驅動的編程模型,任何事情的發(fā)生,其背后必然存在一個事件.而開發(fā)者***次看到MXML時,很難體會到一個Xml標記的應用的事件流和實例化的生命周期.這個對于HTML和Flash的開發(fā)者尤其會感到困惑,因為其熟悉的方式與Flex的一點也不相似.HTML的實例化是從上到下的,Flash的執(zhí)行是從Frame0開始一幀幀運行的.而Flex則又有不同.
從我們開始學習Flex時,我們就需要了解事件流和MXML的實例化.我非常困惑因為我實在難以理解什么樣的事件會被觸發(fā)或者事件什么時候會被觸發(fā).關鍵是要理解事件的基礎并親自觀察事件流的初始化.

關于“FlexApplication初始化順序是怎么樣的”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享標題:FlexApplication初始化順序是怎么樣的
網站URL:http://bm7419.com/article26/phohjg.html

成都網站建設公司_創(chuàng)新互聯,為您提供動態(tài)網站、用戶體驗、手機網站建設、移動網站建設、企業(yè)網站制作、App設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都定制網站建設