Apache flex Flex链接:为什么我的swf文件的大小小于它的总和';南水北调';s

Apache flex Flex链接:为什么我的swf文件的大小小于它的总和';南水北调';s,apache-flex,compiler-construction,linker,Apache Flex,Compiler Construction,Linker,这里有一个愚蠢的问题。我用几个swc(库)编译我的Flex应用程序,它创建了一个swf文件。swc的总和约为4 MB,但实际生成的swf仅为1.6 MB。这怎么可能 谢谢 编译器只编译应用程序需要的swc类,除非指定要“嵌入”的类。因此,最后的swf较小。编译器只编译应用程序需要的swc类,除非指定要“嵌入”的类。因此,末尾的swf较小。要稍微扩展PeZ的响应,通常使用“library path”编译器参数将SWC提供给Flex应用程序编译器: 库路径元素[…] 将SWC文件链接到生成的应用程序

这里有一个愚蠢的问题。我用几个swc(库)编译我的Flex应用程序,它创建了一个swf文件。swc的总和约为4 MB,但实际生成的swf仅为1.6 MB。这怎么可能


谢谢

编译器只编译应用程序需要的swc类,除非指定要“嵌入”的类。因此,最后的swf较小。

编译器只编译应用程序需要的swc类,除非指定要“嵌入”的类。因此,末尾的swf较小。

要稍微扩展PeZ的响应,通常使用“library path”编译器参数将SWC提供给Flex应用程序编译器:

库路径元素[…]

将SWC文件链接到生成的应用程序SWF文件。编译器仅在SWC文件所需的类中提供链接。您可以指定一个目录或单个SWC文件

您可以改为使用“包含库”:

包括图书馆[…]

将SWC文件中的所有类链接到生成的应用程序SWF文件,无论是否使用它们

将此选项与只包含编译时引用的类的库路径选项进行对比


您通常希望使用“库路径”来帮助保持SWF的大小尽可能小。但是,如果应用程序仅通过反射从SWC实例化类,则可能需要使用“包含库”。由于这些类在应用程序中没有实际链接,因此如果使用“库路径”引用SWC,它们将不会被包括在内,并且在实例化过程中会出现运行时错误,因为该类型不可用。但是,如果您使用“包含库”,该类(以及SWC中的所有其他类)将可用于应用程序。

要稍微扩展PeZ的响应,通常是使用“库路径”编译器参数提供给Flex应用程序编译器的SWC:

库路径元素[…]

将SWC文件链接到生成的应用程序SWF文件。编译器仅在SWC文件所需的类中提供链接。您可以指定一个目录或单个SWC文件

您可以改为使用“包含库”:

包括图书馆[…]

将SWC文件中的所有类链接到生成的应用程序SWF文件,无论是否使用它们

将此选项与只包含编译时引用的类的库路径选项进行对比

您通常希望使用“库路径”来帮助保持SWF的大小尽可能小。但是,如果应用程序仅通过反射从SWC实例化类,则可能需要使用“包含库”。由于这些类在应用程序中没有实际链接,因此如果使用“库路径”引用SWC,它们将不会被包括在内,并且在实例化过程中会出现运行时错误,因为该类型不可用。但是,如果您使用“包含库”,该类(以及SWC中的所有其他类)将可供应用程序使用。

1)在swf文件中,仅包含必需的类
2) 更多的文件会导致额外的头信息,这也会略微增加大小。
要减小flex swf的大小,可以使用本文中提到的这些技术:
1)在swf文件中,仅包含必需的类
2) 更多的文件会导致额外的头信息,这也会略微增加大小。
要减小flex swf的大小,可以使用本文中提到的这些技术: