构建单独的.swc是否允许更快地加载应用程序?

时间:2009-05-11 21:55:51

标签: flex optimization

我们的应用程序在启动时加载有点慢,如果在几个swc中应用程序模块的sepation将减少加载时间(grosso modo:一个模块=一个“页面”),我自己徘徊

2 个答案:

答案 0 :(得分:2)

SWC只是一个类压缩的zip存档(静态库)/ 针对SWC编译应用程序不会更改输出的swf。 有两种方法可以减少初始加载:

1.RSL - 动态库,它们与应用程序分开加载并可以缓存。 任何由Adobe签名的RSL不仅可以通过依赖于平台的缓存的Web浏览器进行缓存,还可以通过Flash播放器本身进行缓存,这意味着即使用户清理其浏览器缓存或根本没有缓存,一旦RSL下载了,它被缓存了。

这通常适用于Flex框架的运行时加载。 RPC。 如前所述的另一种类型的RSL缓存是浏览器缓存。 无论哪种方式,RSL都会在启动时加载。

2.另一种方法是将应用程序的一部分提取到模块中,这些模块将按需加载。例如,如果应用程序有3个屏幕,则可能会加载每个屏幕[“可能”,因为只有当用户第一次进入此屏幕时才由开发人员决定何时]

答案 1 :(得分:0)

这取决于启动速度慢的原因。在SWF被浏览器缓存后,它是否缓慢?如果是这样,那么你需要更好地构建代码,以便在启动时不会发生这么多。您可以通过在组件上设置creationPolicy属性来推迟创建对象。如果缓慢是由SWF的大小引起的,那么使用框架RSL和分区到模块将有助于减少初始下载大小。