apache-flex - 使用多个模块时优化 Flex

标签 apache-flex optimization module flash

我有一个加载时间非常重要的 Flex 应用程序(消费者站点)。我希望能够在屏幕上显示一些内容,然后允许根据需要加载其他模块。

我面临的问题是所有模块的总和比我将所有组件包含在单个 .swf 文件中要大得多。

原因很明显。例如,Web 服务访问所需的类似乎需要大约 100kb。如果我不在我的 main.swf 中使用这些类,那么它们将包含在使用它们的每个模块中。因此,如果我有 5 个模块,就会多浪费 500kB。

理论上我想要3个级别

main.swf - 最小可能的布局/样式/字体/框架类型的东西 common.swf - 模块 1 + 模块 2 所需的附加类(例如 Web 服务) module1.swf - 站点中的模块 1 module2.swf - 站点中的模块 2

我不知道这是否可能。

我想知道是否可以为部分框架而不是整个框架加载 swz/swf 文件。

我真的需要将我的主应用大小降低到 200Kb。当我添加 Web 服务和基本数据网格功能时,它会增长到 450kb。

如有任何经验教训,我们将不胜感激。

最佳答案

我知道这是很久以前的事了,但我想我会发布另一个回复,以防有人仍在寻找这方面的答案。

我一直在研究如何优化 Flex 应用程序,并在进行了一些检查之后,决定使用模块。主要是因为他们有很好的优化选项。

您需要的两个 mxmlc 命令是:

mxmlc -link-report=MyAppReport.xml MyApp.mxml

mxmlc -load-externs=MyAppReport.xml MyModule.mxml

我的外部 swf(使用 Flex 框架)现在只有 21k。它(目前)做的很多,但即使它做的越来越多,它仍将继续使用主应用代码中的资源。

这是我创建的用于加速该过程的批处理文件(您必须将 mxmlc 放入您的环境路径变量中才能像这样工作。控制面板 -> 系统 -> 高级 -> 环境变量,编辑路径系统变量,将路径添加到您的 mxmlc(需要重新启动)):

cd C:\Projects\MyProject\Develop\Modules
mxmlc -link-report=MyAppReport.xml C:\Projects\MyProject\Develop\Source\Main.mxml
mxmlc -load-externs=MyAppReport.xml MyModule.mxml
move /Y MyModule.swf ..\Runtime\Modules

更多信息在这里: http://livedocs.adobe.com/flex/3/html/help.html?content=modular_4.html

希望对您有所帮助!

关于apache-flex - 使用多个模块时优化 Flex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/185252/

相关文章:

javascript - 将 Earth Engine javascript 库导入到另一个 javascript 文件中

apache-flex - 弹性 3 : dynamically created checkbox column in datagrid - data population issues and event listener

apache-flex - Flex 中的 <cfoutput> 等价物是什么?

java - 包含许多 “if” 的关键循环,其输出为常量 : How to save on condition tests ? 对于 Java ;)

javascript - 优化 Javascript 的 Random,使其在运行时更快

python - 无效的 XML View 架构问题 - OpenErp

apache-flex - Flex : Get self SWF file name?

apache-flex - Flex 4 或 Actionscript 可以访问共享的 C 或 C++ 库吗?

r - lme4 glmer 中的缩放预测变量不会解决特征值警告;替代优化也没有

ios - 在测试工具中运行 Titanium iOS 模块时缺少框架