易截截图软件、单文件、免安装、纯绿色、仅160KB

Flex多SWF文件加载之Applicatoin Domain

概要
当我们加载外部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,它完全拥有一个独立的应用程序域。
独立域,在应用定义相同的情况下,可以使几个版本并行
view plaincopy to clipboardprint?
01.var appDomainA:ApplicationDomain = new ApplicationDomain();  
02.var contextA:LoaderContext = new LoaderContext(false, appDomainA);  
03.var loaderA:Loader = new Loader();  
04.loaderA.load(new URLRequest("application2.swf"), contextA); 
var appDomainA:ApplicationDomain = new ApplicationDomain();
var contextA:LoaderContext = new LoaderContext(false, appDomainA);
var loaderA:Loader = new Loader();
loaderA.load(new URLRequest("application2.swf"), contextA);
共享域,增加新的类定义(RSL)
view plaincopy to clipboardprint?
01.var appDomainB:ApplicationDomain = ApplicationDomain.currentDomain;  
02.var contextB:LoaderContext = new LoaderContext(false, appDomainB);  
03.var loaderB:Loader = new Loader();  
04.loaderB.load(new URLRequest("modul


相关文档:

flex开发中关于内存释放几个注意的地方

1.监听事件时用弱引用方式(特别是对Applicatiion.applicaion和Stage的事件监听),方式如下:第五个参数值为true
Application.application.addEventListener(MouseEvent.CLICK,doClick,false,0,true);
2.集合类如Array和Dictionary里的元素,在不用的时候要设置为null;(尤其是主页面上的集合类),如:myMap[o]=null;
3. ......

Flex SDK 4(Gumbo)浅析ASDoc ASDoc Tags参数

《Flex SDK 4(Gumbo)浅析ASDoc - Flash Builder 4配置篇》介绍了如何在Flash Builder 4里面配置、运行ASDoc。
本篇文章介绍一些比较常用的ASDoc Tags,只有搞清楚了如何使用ASDoc Tags才能让我们生成一些我们想要的ASDoc文档。
我在这里只列举了一些比较常用的ASDoc Tags:
@param paramName d ......

Flex 和C++ 之间传输结构体数据 用XML传输

Flex 和C++ 之间传输结构体数据
一直想试验用结构体传数据
但是Flex 和C++ 的类型所占的字节数有时不一样
如int 在C++中站2个字节,而在Flex中占4个字节。
转换比较麻烦。
最后决定用XML进行传输
然后两边都加一个XML 解析和封装类。
C++ 端使用的tinyXML 类
Flex直接使用自己带的 E4X 类
Flex代码如下
 &nb ......

flex中list的利用

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
       width="550" height="400">
       
    <mx:Script>
        <![CDATA[
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号