成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入剖析Flex Flash之間的關系

開發(fā) 后端
Flex有很多值得學習的地方,那么你對Flex和Flash的關系是否熟悉,這里和大家分享一下,希望本文的介紹能讓你有所收獲。

本文和大家重點討論一下Flex Flash關系,主要包括Flex應用程序的生命周期,F(xiàn)lashpalyer和Framwork的區(qū)別等內(nèi)容,相信通過本文的介紹你對兩者的關系一定會有明確的認識。

Flex Flash關系分析

1、Flex應用程序的生命周期

Flex應用就其根本上講就是Flash應用,只不過其是基于FlexFramework(由ActionScript寫就)開發(fā)的。Flex應用程序的根對象的是SystemManager(不是我們在flex應用上看到的Application根元素),繼承自flash.dispaly.MovieClip—flashplayerdisplaytype,MovieClip是一種支持timeline基本元素幀frame的對象,在FlexFramework中SystemManager是特殊的,含有兩幀(其他component都是一幀的),分別是preloader和真正的Application,preloader幀可以迅速下載下來并用于顯示應用下載進度,一旦Flex應用的SystemManager實例進入第二幀,將創(chuàng)建Flex主應用application實例并賦予本身的屬性application(在進入第二幀之前是null),自此application(flex主應用)的內(nèi)部生命周期、事件開始運作:

◆preinitialize:application已經(jīng)實例化但尚未創(chuàng)建任何childcomponent
◆initialize:已經(jīng)創(chuàng)建childcomponent但對其進行布局(layout)
◆creationComplete:application已經(jīng)完成實例化并完成所有childcomponent的布局

SystemManager有一個topLevelSystemManager對象,指向一個SystemManager實例,是所有當前在flashplayer運行的任何東西的根(root),如果flex被作為主應用加載到flashplayer則上述屬性將指向其本身(self-refrencing),但當flex應用是被另一flex應用載入的,其自身的SystmenManager的topLevelSystemManager屬性則不是自引用了,而是指向其父應用的SystemManager實例。所有UIComponent的子類都有一個systemManager屬性指向應用的SystemManager實例,在被SystemManger實例監(jiān)聽的component的事件發(fā)生冒泡時,其將擁有事件處理鏈上***的處理權。

2、Flashpalyer和Framwork的區(qū)別

Flashplayer是Flex應用和flash應用的運行環(huán)境,兩應用對其擁有完全平等的操作權(通過Flashplayer提供的API),兩應用形成的.swf文件在flashplayer中是同樣的表現(xiàn),不同的不是應用的內(nèi)容而是其各自的創(chuàng)建方式。Flex的Framework在開發(fā)和運行之間為應用提供了一層抽象,F(xiàn)lex應用編譯時會將必要的framworklibrary編譯進.swf文件(同樣影響應用文件的大小等),主要的flashplayerclass當然不會被編譯到.swf中,因為他們已經(jīng)存在于flashplayer中了,最終形成與flash應用同樣的flashplayer可以理解的指令。
關于flashplayerclass和flexframework的區(qū)分很方便,前者的class以flash開頭,如flash.net.URLLoader,而后者則以mx開頭,如mx.controls.Button

3、動態(tài)載入另外的flex應用

<mx:SWFLoadersource=”src/*.swf”/>
Swfloader的content屬性指向被載入的flex應用的SystemManager實例(其application屬性指向被載入felx應用的Application實例),swfloader加載、初始化被載入flex應用時會dispatch出init事件,可與其中監(jiān)聽被載入flex應用的SystemManager實例的ApplicationComplete事件,事件發(fā)生時被載入content的Application對象方可以引用
與inithandler中event.target.content.addEventListener(FlexEvent.APPLICATION_COMPLETE,func);
與applicationCompleteHandler中event.target.application.method…

4、理解應用程序域(applicationdomain)

一個應用程序domain(類似于.net的appdoamin)中有flex應用的相關類定義、資源等,被載入的新flex應用可以存在于一個全新的、隔離的domain中(占額外的內(nèi)存資源)、可以存在于當前domain的子doamin中(共享父domain的資源、類定義,須注意類定義被取代的情況)、也可以直接存在與當前doamin中(同樣須注意類定義沖突),如runtimesharedlibrary。
代碼中實現(xiàn)這三種方式的應用(主要應用到flash.system.LoaderContext、flash.display.Loader或flash.net.URLLoader、flash.system.ApplicationDomain)

  1. varcontext:LoaderContext=newLoaderContext();  
  2. context.applicationDomain=newApplicationDomain(ApplicationDomain.currentDomain);//載入作為子domain  
  3. context.applicationDomain=newApplicationDomain();//載入作為全新domain  
  4. context.applicationDomain=ApplicationDomain.currentDomain;//載入當前domain  
  5. varrequest:URLRequest=newURLRequest("RuntimeLoadingExample.swf");  
  6. varloader:Loader=newLoader();  
  7. loader.load(request,context); 

5、關于preloader

Preloader是一個輕量級的類,在systemManager的***幀被實例化,preloader會dispatch出一系列的事件,由progressbar監(jiān)聽實現(xiàn)loading界面,一旦應用進入第二幀待application初始化后會借由systemmanager通知preloader初始化進度,preloader通知systemmanager其準備待刪除

Preloader的事件dispatch:
 

  1. progress  
  2. Indicatesdownloadprogress  
  3. complete  
  4. Indicatesthatthedownloadiscomplete  
  5. rslError  
  6. Indicatesthataruntimesharedlibrarycouldnotload  
  7. rslProgress  
  8. Indicatesthedownloadprogressforaruntimesharedlibrary  
  9. rslComplete  
  10. Indicatesthatthedownloadiscompleteforruntimesharedlibraries  
  11. initProgress  
  12. Indicatesthattheapplicationisinitializing  
  13. initComplete  
  14. Indicatesthattheapplicationhasinitialized  

 如此,preloader可以定制化了。
 

【編輯推薦】

  1. 解析Flexbuilder4十大新特性
  2. 從Flex Builder更名看Flash平臺戰(zhàn)略
  3. Flex及FlexBuilder2.0開發(fā)環(huán)境詳解
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件 

 

 

責任編輯:佚名 來源: jb51.net
相關推薦

2010-08-04 08:42:28

Flex和Flash

2010-07-27 16:03:42

Flex

2010-08-06 09:24:44

FlexFlash

2010-07-27 10:54:22

Flex

2010-08-11 11:17:49

FlexFlash

2010-08-12 12:55:02

FlexFlash

2010-08-04 13:52:53

Flex事件機制

2010-08-11 09:01:41

Flex4布局

2010-08-09 16:01:37

Flex字體

2010-08-06 15:20:25

Flex Builde

2010-08-13 09:54:23

Flex字體

2010-08-10 13:58:00

Flex性能測試

2010-06-28 16:54:49

UML類圖關系

2010-08-16 10:25:23

DIVSPAN

2010-08-12 11:29:01

Flex組件

2010-06-29 12:55:44

UML類圖依賴關系

2010-07-30 14:09:30

FlexFlash

2010-08-03 13:47:26

Flex程序員

2010-07-01 13:00:20

UML用例圖

2009-12-29 14:55:31

ADO.NET Dat
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91国内视频在线 | 麻豆91av | 国产美女视频一区 | 欧美日韩视频网站 | 日韩欧美在线一区 | 国产三级网站 | 免费看黄色国产 | 欧美不卡一区二区 | 免费在线成人网 | 欧美日韩综合一区 | 亚洲欧美日韩网站 | 国产精品久久av | 日日做夜夜爽毛片麻豆 | 日韩精品网站 | 国产精品久久久久久久久久久久久 | 国内精品视频一区二区三区 | 黄色片免费 | 欧美11一13sex性hd | 日韩成人 | 日本激情一区二区 | 国产精品久久久久一区二区三区 | 国产乱码久久久 | 久久久免费少妇高潮毛片 | 久久久久久久久久久一区二区 | 久久www免费人成看片高清 | 欧美精品久久久 | 黄色香蕉视频在线观看 | 污书屋 | 中文字幕在线观看av | 女同av亚洲女人天堂 | 国产精品久久久久久久久久 | 99精品热视频 | 日韩 欧美 二区 | 日韩三级 | 欧美国产激情 | av入口 | 国产成人精品免费视频大全最热 | 婷婷开心激情综合五月天 | 91社区在线观看高清 | 久久久久9999亚洲精品 | 毛片黄片|