在 Flash CS5 中,似乎可以选择将 .swc 文件导入库,但作为 RSL(运行时共享库)。
此选项 (swc) 与使用运行时共享库 .swf 文件有什么区别?
此外,如果您选择一个 .swc 文件,并选择“信息”(“i”)图标,则 .swc 似乎有多个选项...“合并到代码中”、“外部”、“运行时共享库” :
在 Flash CS5 中,似乎可以选择将 .swc 文件导入库,但作为 RSL(运行时共享库)。
此选项 (swc) 与使用运行时共享库 .swf 文件有什么区别?
此外,如果您选择一个 .swc 文件,并选择“信息”(“i”)图标,则 .swc 似乎有多个选项...“合并到代码中”、“外部”、“运行时共享库” :
SWC是在构建应用程序时捆绑到应用程序 SWF 中的编译库。这会创建一个更大的应用程序文件(在浏览器中加载需要更长的时间),这意味着每次应用程序启动都将花费相同的时间来加载。如果生成的 SWF 相当大,则每次启动都需要一段时间。这些库是“静态链接的”(即包含在最终编译的 SWF 中)。
RSL是动态链接到您的应用程序的编译库。您将它们构建为单独的 SWF,并将它们作为 RSL 添加到项目中。您的应用程序的编译器将创建一个链接,允许您的应用程序在运行时使用它,而不是将其导入到主 SWF 文件中。当您的应用程序启动时,它将尝试定位 RSL 并动态加载整个库。这会增加应用程序的初始负载;但是,一旦找到并加载它们,它们就会被缓存,随后的应用程序启动应该很快。
RSL 有很多好处,也有一些缺点。由于它们没有捆绑到您的应用程序中,因此您的 SWF 更小并且启动速度更快。它还允许您在应用程序中分离将由其他应用程序使用的库。因此,“共享”库。
然而,它也需要付出代价。RSL(默认情况下,我认为)由编译器使用校验和链接。您不能简单地修改其他应用程序使用的 RSL,而无需重新编译它们以说明更改。如果您修改 RSL,您将在应用程序启动时收到错误消息,因为它预期的校验和与库的新版本不匹配。
如果您允许我进行比较,它的工作原理类似于内部和外部 Javascript。SWC 选项就像在宿主 HTML 文件中嵌入 Javascript(来自 SWC 的资产静态链接到您的主 SWF)。RSL 选项就像拥有一个通过<script src>
HTML 文件加载的外部 JS 文件(来自 RSL 的资产动态链接到您的主 SWF。