我对如何在客户机上避免 RSL缓存感到有点困惑。 我有很多模块和一个加载它们的主要应用程序。几乎每个模块和应用程序本身都使用 RSL 库(这是我的常用库项目)。
现在我正在更改MyLib中的代码并编译新版本的MyLib.swf。如何确保已加载旧版MyLib.swf的用户将获得新的 RSL ,而不是旧的缓存版本?
是否可以使用 RSL :
进行类似操作 var loader: Loader = new Loader();
loader.load(new URLRequest("MyLib.swf?v1.2.3");
PS - 每次将MyLib.swf的名称更改为MyLib-v1.2.3.swf之类的东西都不是解决方案,因为我有类似于20个模块并且每个模块都编译所有模块时间我在MyLib中改变一些小问题并不是一个好的解决方案。
答案 0 :(得分:0)
您可能根本不需要RSL。你的ApplicationDomain
等级是什么?如果在加载模块时没有明确指定加载上下文,最终会得到each module in a new child ApplicationDomain
如果这是真的并且您不打算将旧模块与新应用程序及类似的东西一起使用,那么您可以通过执行以下操作从根本上优化整个过程:
将您用于MyLib.swf
的所有课程编入MainApp.swf
(快速简便)或将MyLib.swf
加载到ApplicationDomain.currentDomain
在加载第一个模块之前
从moduleX.swf
中排除所有lib类(您可能已经这样做了)
P.S。:About Flex RSLs.