黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Flex多SWF文件加載之Applicatoin Domain

系統 2411 0

概要

當我們加載外部swf時,必須要了解應用程序域(Application Domain)。從Adobe官方文件中,我們可以得知應用程序域能夠把處于同一個安全域(Security Domain)中的類分離開,這樣就可以讓一個類的多個定義共存,或是讓多個子應用來共享父應用的類定義。簡單點理解就是應用程序域為類定義提供了分區功能。

應用程序域

一個類的多個定義共存:內存中有多個類,它們名稱相同,但定義不同定義,由于處于不同的應用程序域,所以互不干擾,得以共存。

子應用共享父應用的類定義:N個子應用引用同一個父應用的所提供的類定義,當父應用更新時,子應用所引用的內容也會隨之更新。

當加載外部swf文件時,可以為其設置三種應用程序域:

一、將加載的swf指定至一個既存的應用程序域中。

二、將加載的swf指定為一個既存的應用程序域的子應用程序域。

三、為加載的swf指定一個全新的應用程序域。

我們先來看一下官方文檔的說明圖:

圖中共有四個文件,分別為application1.swf、module1.swf、application2.swf和module3.swf。module1.swf、application2.swf和module3.swf均被application1.swf加載,其中module1.swf與application1.swf屬于同一個域,module3.swf被劃分至application1.swf的子應用程序域,最后是application2.swf,它完全擁有一個獨立的應用程序域。

獨立域,在應用定義相同的情況下,可以使幾個版本并行

共享域,增加新的類定義(RSL)

子域,子域中的類引用父應用中的類定義

注意事項

加載圖片或是用ActionScript 1.0/2.0 編寫的SWF文件時,不可以使用應用程序域,因為應用程序域只能應用于ActionScript 3.0,我們可以通過函數“getDefinition”來獲取已經加載的類定義

應用程序域之間形成的是一個樹形結構,它們之間靠“parentDomain”來鏈接,而最頂層是系統域(system domain),它包括了Flash內置類型,如Sprite、Textfield等

當一個子應用中的類定義無論是以共享域還是子域的形式被加載,如過發現父應用中已經定義了的這個即將被加載的類,那么這個類定義的加載被忽略

應用程序域僅在一個安全域中有效,它不允許跨域使用

更多例子

共享域加載

- the HelloW class from MyApplication

- the SWFHelloW class from SWF1

共享域

子域加載

- the HelloW class from MyApplication

- the SWFHelloW class from SWF1 and SWF2

子域

獨立域加載

- the HelloW class from MyApplication

- the HelloW class from SWF1 and SWF2

- the SWFHelloW class from SWF1 and SWF2

獨立域

TODO疑問

當我們在子應用中定義了工具方法create,其中的ApplicationDomain.currentDomain是父應用的currentDomain,還是當前的currentDomain?

參考文檔

http://blogs.adobe.com/rgonzalez/2006/06/applicationdomain.html

http://ghalex.com/blog/application-domains-in-flex

http://livedocs.adobe.com/flex/3/html/help.html?content=18_Client_System_Environment_5.html

Flex多SWF文件加載之Applicatoin Domain


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論