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,它完全拥有一个独立的应用程序域。
独立域,在应用定义相同的情况下,可以使几个版本并行
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)
var appDomainB:ApplicationDomain = ApplicationDomain.currentDomain;
var contextB:LoaderContext = new LoaderContext(false, appDomainB);
var loaderB:Loader = new Loader();
loaderB.load(new URLRequest("module1.swf"), contextB);
子域,子域中的类引用父应用中的类定义
var appDomainC:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
var contextC:LoaderContext = new LoaderContext(false, appDomainC);
var loaderC:Loader = new Loader();
loaderC.load(new URLRequest("module3.swf"), contextC);
注意事项
加载图片或是用ActionScript 1.0/2.0 编写的SWF文件时,不可以使用应
相关文档:
themeColor 主题颜色:如果对色彩样式配置不想过多的去设置的话,themeColor是一个选择。它可
以让你选择一种基本色彩,然后组件的边框,外观等色彩将会以此色彩为基础构成一组缺省的样式,组件均可使用此样式属性。
Application组件样式属性
backgroundImage &n ......
==============flex===========
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="Service.GetCustomers.send();" width="689" height="592">
<mx:WebService id="Service" wsdl="ht ......
性能测试是一项浩大的工程,若你只想随便找台机器装上ld后,造几条数据,弄几个并发用户简单跑一下出来结果就可以万事大吉了,那你就大错特错了!(这样得出的测试结果没有任何价值和意义,当然更无法依此评估出你贵公司系统的性能了。
性能测试真正开始执行之前 ......
Repeater 顾名思义,Repeat就是重复的意思, Repeater 就是用来重复的控件
Repeater 会根据数据源中对象的多少来产生多少个子项,生成的子项全部是以数组形式存在的
<mx:Repeater id="myRepeater" dataProvider="{myArray}">
<mx:HBox>
  ......