这些天我读了很多关于RSL的内容。一个缺点是RSL必须加载到内存中,但可以节省大量的加载时间。
现在在以下场景中会发生什么:
我有一个superFramework.swf和一个subapp.swf。使用SWFLoader在superframework.swf中按需显示和加载subapp.swf。但是,两个SWF都依赖于common.swc,它将被编译为RSL。
所以依赖性看起来像这样:
superframework.swf ---RSL---> common.swc
---SWFLoader-->subapp.swf ---RSL---> common.swc
现在我的问题:
答案 0 :(得分:3)
RSL不是真正的动态库。它们更像是在运行时静态链接整个库。
- 是否将subapp.swf加载到一个单独的内存空间?
是的,有点儿。所有SWF都在Flash Player中运行。出于安全考虑,他们有自己的小沙箱。
- 如果是:这是否意味着将common.swc RSL加载到内存中两次?
是的,每个调用应用程序都会加载给定RSL的一个副本。
- 如果不是:像common.swc中的ModelLocator那样的单身人士怎么样?同一个实例是否同时可用于subapp.swf和superframework.swf?
不,他们将有不同的实例。
RSL有助于减少可分发的大小。但这并不总是一个优势。我建议您在跳过之前浏览this页面。