<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    轉貼兩篇關于Flex FrameWork以及模塊化開發的文章,第一篇Flex Framework Fundamentals

    轉載自:http://www.cnblogs.com/sharplife/archive/2007/09/03/880641.html

    最近看時學習Flex應用,開始對Flex和Flash的關系有些模糊,讀了Oreilly的Programming Flex 2才算是明白些,現記下。

    1、Flex應用程序的生命周期
    Flex應用就其根本上講就是Flash應用,只不過其是基于Flex Framework(由ActionScript寫就)開發的。Flex應用程序的根對象的是SystemManager(不是我們在flex應用上看到的Application根元素),繼承自flash.dispaly.MovieClip—flash player display type,MovieClip是一種支持timeline基本元素幀frame的對象,在Flex Framework中SystemManager是特殊的,含有兩幀(其他component都是一幀的),分別是preloader和真正的Application,preloader幀可以迅速下載下來并用于顯示應用下載進度,一旦Flex應用的SystemManager實例進入第二幀,將創建Flex主應用application實例并賦予本身的屬性application(在進入第二幀之前是null),自此application(flex主應用)的內部生命周期、事件開始運作:
    preinitialize:application已經實例化但尚未創建任何child component
    initialize:已經創建child component但對其進行布局(lay out)
    creationComplete:application已經完成實例化并完成所有child component的布局
    SystemManager有一個topLevelSystemManager對象,指向一個SystemManager實例,是所有當前在flash player運行的任何東西的根(root),如果flex被作為主應用加載到flash player則上述屬性將指向其本身(self-refrencing),但當flex應用是被另一flex應用載入的,其自身的SystmenManager的topLevelSystemManager屬性則不是自引用了,而是指向其父應用的SystemManager實例。所有UIComponent的子類都有一個systemManager屬性指向應用的SystemManager實例,在被SystemManger實例監聽的component的事件發生冒泡時,其將擁有事件處理鏈上最后的處理權。

    2、Flash palyer和Framwork的區別
    Flash player是Flex應用和flash應用的運行環境,兩應用對其擁有完全平等的操作權(通過Flash player提供的API),兩應用形成的.swf文件在flash player中是同樣的表現,不同的不是應用的內容而是其各自的創建方式。Flex的Framework在開發和運行之間為應用提供了一層抽象,Flex應用編譯時會將必要的framwork library編譯進.swf文件(同樣影響應用文件的大小等),主要的flash player class當然不會被編譯到.swf中,因為他們已經存在于flash player中了,最終形成與flash應用同樣的flash player可以理解的指令。
    關于flash player class和flex framework的區分很方便,前者的class以flash開頭,如flash.net.URLLoader,而后者則以mx開頭,如mx.controls.Button

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

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

    var context:LoaderContext = new LoaderContext( );
    context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);//載入作為子domain
    context.applicationDomain = new ApplicationDomain();//載入作為全新domain
    context.applicationDomain = ApplicationDomain.currentDomain;//載入當前domain
    var request:URLRequest = new URLRequest("RuntimeLoadingExample.swf");
    var loader:Loader = new Loader( );
    loader.load(request, context);

    5、關于preloader
    Preloader是一個輕量級的類,在systemManager的第一幀被實例化,preloader會dispatch出一系列的事件,由progress bar監聽實現loading界面,一旦應用進入第二幀待application初始化后會借由system manager通知preloader初始化進度,preloader通知system manager其準備待刪除
    Preloader的事件dispatch:
    progress
    Indicates download progress
    complete
    Indicates that the download is complete
    rslError
    Indicates that a runtime shared library could not load
    rslProgress
    Indicates the download progress for a runtime shared library
    rslComplete
    Indicates that the download is complete for runtime shared libraries
    initProgress
    Indicates that the application is initializing
    initComplete
    Indicates that the application has initialized

    如此,preloader可以定制化了。

    Over,暈倒!~

    posted on 2008-01-04 12:19 雁過無痕 閱讀(1832) 評論(1)  編輯  收藏

    評論

    # re: 轉貼兩篇關于Flex FrameWork以及模塊化開發的文章,第一篇Flex Framework Fundamentals 2008-02-03 15:27 xx

    第二篇呢?  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年2月>
    272829303112
    3456789
    10111213141516
    17181920212223
    2425262728291
    2345678

    導航

    統計

    常用鏈接

    留言簿(7)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成人福利网站| 亚洲黄片手机免费观看| 亚洲国产成人久久综合碰碰动漫3d| 亚洲精品成a人在线观看☆| 毛片网站免费在线观看| 亚洲一区在线免费观看| 1000部拍拍拍18勿入免费凤凰福利| 亚洲日本中文字幕区| 美女视频黄的免费视频网页| 亚洲欧洲美洲无码精品VA| a在线免费观看视频| 亚洲AV午夜福利精品一区二区| a毛片免费观看完整| 亚洲大成色www永久网站| 成人无码a级毛片免费| 亚洲国产成人久久精品动漫| 99久热只有精品视频免费观看17| 久久久婷婷五月亚洲97号色 | 亚洲AV综合色一区二区三区| 国产无遮挡裸体免费视频在线观看| 亚洲无人区一区二区三区| 黄页免费在线观看| 水蜜桃亚洲一二三四在线| 亚洲一区二区免费视频| 麻豆狠色伊人亚洲综合网站| 国产大片51精品免费观看| 亚欧洲精品在线视频免费观看 | 亚洲酒色1314狠狠做| 欧亚精品一区三区免费| 边摸边吃奶边做爽免费视频99 | 久操免费在线观看| 亚洲精品白色在线发布| 四虎影院免费在线播放| 一本岛v免费不卡一二三区| 亚洲激情在线观看| 毛片免费视频播放| 国产精品青草视频免费播放| 亚洲人成网址在线观看| 在线精品免费视频| 中文在线观看国语高清免费| 亚洲国产综合精品|