日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Flex多SWF文件加載之Applicatoin Domain

系統(tǒng) 2273 0

概要

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

應(yīng)用程序域

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

子應(yīng)用共享父應(yīng)用的類定義:N個子應(yīng)用引用同一個父應(yīng)用的所提供的類定義,當(dāng)父應(yīng)用更新時,子應(yīng)用所引用的內(nèi)容也會隨之更新。

當(dāng)加載外部swf文件時,可以為其設(shè)置三種應(yīng)用程序域:

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

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

三、為加載的swf指定一個全新的應(yīng)用程序域。

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

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

獨(dú)立域,在應(yīng)用定義相同的情況下,可以使幾個版本并行

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

子域,子域中的類引用父應(yīng)用中的類定義

注意事項(xiàng)

加載圖片或是用ActionScript 1.0/2.0 編寫的SWF文件時,不可以使用應(yīng)用程序域,因?yàn)閼?yīng)用程序域只能應(yīng)用于ActionScript 3.0,我們可以通過函數(shù)“getDefinition”來獲取已經(jīng)加載的類定義

應(yīng)用程序域之間形成的是一個樹形結(jié)構(gòu),它們之間靠“parentDomain”來鏈接,而最頂層是系統(tǒng)域(system domain),它包括了Flash內(nèi)置類型,如Sprite、Textfield等

當(dāng)一個子應(yīng)用中的類定義無論是以共享域還是子域的形式被加載,如過發(fā)現(xiàn)父應(yīng)用中已經(jīng)定義了的這個即將被加載的類,那么這個類定義的加載被忽略

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

更多例子

共享域加載

- the HelloW class from MyApplication

- the SWFHelloW class from SWF1

共享域

子域加載

- the HelloW class from MyApplication

- the SWFHelloW class from SWF1 and SWF2

子域

獨(dú)立域加載

- the HelloW class from MyApplication

- the HelloW class from SWF1 and SWF2

- the SWFHelloW class from SWF1 and SWF2

獨(dú)立域

TODO疑問

當(dāng)我們在子應(yīng)用中定義了工具方法create,其中的ApplicationDomain.currentDomain是父應(yīng)用的currentDomain,還是當(dāng)前的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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 南漳县| 德清县| 龙里县| 瓮安县| 衢州市| 通渭县| 贡山| 镶黄旗| 轮台县| 新沂市| 咸阳市| 清远市| 巴彦淖尔市| 余干县| 金秀| 莱阳市| 开远市| 利津县| 盈江县| 固阳县| 宁明县| 威远县| 枞阳县| 常宁市| 洛南县| 青铜峡市| 石狮市| 武定县| 武山县| 托克托县| 垦利县| 缙云县| 肥东县| 花莲市| 陵水| 宁乡县| 柳河县| 宽甸| 汨罗市| 花莲市| 琼海市|