flex的动态链接库和静态链接库
flex可以有两种库,一种是动态链接库(RSL),一种是静态链接库。
我们通常使用的swc是静态链接库,编译的时候会直接把需要的东西编进去,包含在生成的swf中。swc文件是一种压缩文件格式,里面包含一个library.swf 文件一个catalog.xml文件。这其中包含的.swf文件可以单提出来当成一个RSL。swc是编译的时候必须要用的。在flex builder下建立的lib工程生成的就是静态库,新建工程需要引用此库只要在编译路径中指定一下就好了。这样就可以分开进行开发了。
动态链接库分签名的和未签名的。签名的为.swz文件,是缓存在flash player中的,未签名的为.swf文件,缓存在浏览器中。只有Adobe才可以进行签名缓存在flash player中。可以利用库为flex程序瘦身,随便写个button的flex程序要在500K左右,而把framework包提出来会变成20多K,网上有一些教程,不多说了。
静态链接库就没什么跨域问题了,动态的则会有这个问题,很有可能出现安全沙箱问题。如果主程序和资源都在同一个域中当然不会出现这个问题了。解决办法:首先要在资源服务器跟目录下配置crossdomain.xm文件,这样可以达到显示级别的调用,但是不可以进行任何代码控制。需要分别进行Security.allowDomain设置才可以进行代码互相访问。如果是HTTPS可能还需要设置allowInsecureDomain。