WEB开发网
开发学院图形图像Flash 深入理解Flash Player的应用程序域(Application ... 阅读

深入理解Flash Player的应用程序域(Application Domains)

 2012-02-06 12:13:07 来源:本站整理   
核心提示:这篇是《深入理解Flash Player的安全域(Security Domains)》的下文,转载过来备份一下,深入理解Flash Player的应用程序域(Application Domains),原文地址:http://kevincao.com/2010/11/application-domains/目录 A

这篇是《深入理解Flash Player的安全域(Security Domains)》的下文。转载过来备份一下。原文地址:http://kevincao.com/2010/11/application-domains/

目录

  • Application Domains(应用程序域)
  • Application Domain Placement(应用程序域的位置)
  • Application Domain Inheritance(应用程序域的继承)
  • Child Domains: Definition Versioning(子域:定义的版本管理)
  • Separate Domains: Preventing Conflicts(域分离:避免冲突)
  • Same Domain: Runtime Shared Libraries(相同的域:运行时共享库)
  • Getting Definitions Dynamically(动态获取定义)
  • Same-definition Collisions(相同定义的冲突)
  • Conclusion(总结)

Application Domains 应用程序域

和安全域一样,不同安全沙箱下的SWF有着自己独立的类定义。这种在安全域下面进行划分和管理类定义(函数、接口和命名空间的定义也类似)的子域就是应用程序域。应用程序域只存在于安全域内,并且只能属于唯一的一个安全域。但是安全域可以包含多个应用程序域。


安全域内的应用程序域

虽然安全域沙箱用于保护数据安全,应用程序沙箱域用于划分定义。但是他们都用于解决定义的冲突和判断代码的继承关系。

安全域彼此之间是相互独立的,相比之下,应用程序域之间的关系则较为复杂。应用程序域通过类似于Flash中的显示列表那样的层级关系链接在一起。应用程序域可以包含任意的子域,而子域只能有一个父域。子域继承了来自父域中的定义,就像是显示列表中父对象的位置和缩放属性被子对象继承一样。

应用程序域的根节点是一个系统域,这个域包含了Flash Player API的原生定义(Array,XML,flash.display.Sprite等等)。系统域与安全域是一一对应的关系,当安全域初始化的时候这个唯一的系统域也被建立。

当一个Flash Player的实例初始化的时候,SWF文件加到它对应的安全域内。同时也创建了一个包含了这个文件中所有编译过的ActionScript定义的应用程序域。这个应用程序域就成为安全域下的系统域的第一个子域。Flash Player API的原生定义就通过这种继承关系对所有子域开放。


在系统域下新建了一个SWF应用程序域

我们将在应用程序域的继承章节中进行更多关于继承的讨论。

Tags:深入 理解 Flash

编辑录入:coldstar [复制链接] [打 印]
赞助商链接