有啥方法可以分析 Flex 中内置的 SWF 的大小?

Posted

技术标签:

【中文标题】有啥方法可以分析 Flex 中内置的 SWF 的大小?【英文标题】:Any way to analyze the size of a SWF built in Flex?有什么方法可以分析 Flex 中内置的 SWF 的大小? 【发布时间】:2009-02-07 03:47:22 【问题描述】:

我的 Flex 应用程序看起来比它应有的大。里面有很多代码,但资产不多,而且看起来很大,但我不知道如何弄清楚空间的去向。

我知道 –link-report 选项,但它只提供外部链接库类的大小。我对查看我的应用程序中所有类和资源的大小的报告非常感兴趣,如果我还可以查看它们的依赖关系,那将是一个巨大的好处。不知道代码是如何编译的,我不确定这是否可能,但似乎应该这样做,因为编译器可以给我从其他库链接的各个类的大小。

我做了一些搜索,但找不到任何有用的东西。一切都指向模块化和外部链接库的优化技术,我理解并将实施,但我真的很喜欢我编译的应用程序的一些更详细的报告。

需要明确的是,我对如何减小文件大小的提示并不真正感兴趣,我只是对用于什么以及哪些类引用什么的报告。

有人有什么想法吗?

更正 - 链接报告确实显示了所有类。我在 Flex Builder 中的特定项目有几个 CSS 文件设置为编译为 swfs。我的主应用链接报告被这些 css 编译覆盖了!

【问题讨论】:

好问题!我一直在寻找这样的东西。 【参考方案1】:

链接报告实际上包含所有已编译的类,而不仅仅是外部库中的类(至少对于 Flex 4 SDK)。有一个可用的 xsl 可以生成链接报告的 html 文件,因此更易于阅读。

查看此帖子:http://blog.iconara.net/2007/02/25/visualizing-mxmlcs-link-report/

【讨论】:

你是对的,链接报告确实显示了所有类。问题原来是我的项目中还设置了几个要编译的 css 文件。 Flex builder 对它在项目中创建的每个 swf 使用相同的编译器选项。我的应用程序的链接报告被最后一个 css 覆盖。【参考方案2】:

swfkit.jar 中有一个名为flash.swf.tools.SwfxPrinter 的命令行实用程序,它随Flex Builder(或插件或SDK)提供,您可以使用它来分析有关类大小的信息。 Joe Berkovitz wrote some good instructions 在他的博客中介绍了如何使用它,他正在开发一个利用它的基于 AIR 的 GUI 工具,但我不确定他是否曾经发布过该工具。不过,您可以使用他的说明直接从 JAR 中利用该实用程序。

【讨论】:

非常感谢您的分享!【参考方案3】:

我找到了一个方便的小 AIR 应用程序,它确实有助于组织链接报告信息。

http://www.kahunaburger.com/2008/03/08/air-link-report-visualizer/

它很旧,但仍然很好用。

【讨论】:

以上是关于有啥方法可以分析 Flex 中内置的 SWF 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

在 Flex 中将 GIF 转换为 SWF

将 SWF 加载到 ActionScript 3 项目中 (Flex Builder)

如何将 Flex 编译的 SWF 加载到 Flash CS4 编译的 SWF 中

Flex简述1

(swf as3 XML URLLoader) 在 flex 中不起作用

有啥方法可以将 ActionScript 3 (Flex/AIR) 项目打印到标准输出?