Apache flex Flex模块的最小大小约为30kb,包含框架类。如何移除它们?

Apache flex Flex模块的最小大小约为30kb,包含框架类。如何移除它们?,apache-flex,actionscript-3,Apache Flex,Actionscript 3,编译以下模块,在Flex 4的发布模式中排除所有框架SWC-s: <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"/> SWF大小将为35658字节 现在通过-link报告为这个SWF生成链接报告,并通过-load外部程序加载它。SWF的大小现在是33

编译以下模块,在Flex 4的发布模式中排除所有框架SWC-s:

<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
 xmlns:s="library://ns.adobe.com/flex/spark" 
 xmlns:mx="library://ns.adobe.com/flex/mx"/>
SWF大小将为35658字节

现在通过-link报告为这个SWF生成链接报告,并通过-load外部程序加载它。SWF的大小现在是33.174字节

如果您现在查看链接报告,您将看到一些框架类,如mx.modules:IModuleInfo或mx.utils:LoaderUtil仍然存在


如何从SWF中排除它们?

您正在使用RSL排除框架SWC,对吗

如果我不得不猜测的话,这些类是模块所必需的,因此有理由将它们编译到类中。我相信Adobe在创建RSL时是一丝不苟的,并且在主SWF中应该或不应该包含哪些内容上花了很多心思


但我想知道为什么这很重要。30K swf真的很小

您通过使用RSLs排除了框架swc,对吗

如果我不得不猜测的话,这些类是模块所必需的,因此有理由将它们编译到类中。我相信Adobe在创建RSL时是一丝不苟的,并且在主SWF中应该或不应该包含哪些内容上花了很多心思


但我想知道为什么这很重要。30K swf真的很小

问题在于标准组件不在客户端运行时环境中

例如,在Flash with AS2或AS3中,如果使用组合框,则开销超过20KB,因为组件的二进制文件必须与swf一起打包。Flex也出现了这种情况。为了制作一个小型二进制文件,我使用了一个带有flash组件的小型内存库,但这是针对flash AS2的


祝你好运。

问题在于标准组件不在客户端运行时环境中

例如,在Flash with AS2或AS3中,如果使用组合框,则开销超过20KB,因为组件的二进制文件必须与swf一起打包。Flex也出现了这种情况。为了制作一个小型二进制文件,我使用了一个带有flash组件的小型内存库,但这是针对flash AS2的


祝你好运。

我想你必须仔细阅读链接报告。找出哪些类依赖于mx.modules:IModuleInfo和mx.utils:LoaderUtil,您可能会理解这种情况是如何发生或为什么发生的

它一定是相当多的类,因为曾经提到的类(包括它们的依赖项)有6KB的原始大小和2.8KB的优化大小

格里茨
back2dos

我想你必须仔细阅读链接报告。找出哪些类依赖于mx.modules:IModuleInfo和mx.utils:LoaderUtil,您可能会理解这种情况是如何发生或为什么发生的

它一定是相当多的类,因为曾经提到的类(包括它们的依赖项)有6KB的原始大小和2.8KB的优化大小

格里茨
back2dos

30K很小,但不适用于空SWF。如果你想为你的应用程序提供简单的插件,那么你最终会得到40K个插件,其中25%是你使用的。假设你有10-20个插件,它开始产生真正的影响。每隔一段时间,我就会看到人们谈论Hello World风格的应用程序的大小,作为平台膨胀、效率低下等方面的指标。但是,Flex应用程序的大小不会随着功能的增加而增加。添加另一个标签并不意味着你会将应用程序的大小增加一倍。我建议推迟这件事,并在它成为问题时处理它。我怀疑更大的问题将是加载/卸载插件的内存管理;不是插件的大小。我们有15个模块,其中7个在启动时加载。我们额外加载210KB。这是一个问题;有什么问题?装载时间?安装时间?我使用过的大多数Flex应用程序都在500K范围内。直到swf超过1MB,我才开始担心。我是Maxim的collegue。我们的应用程序大约是2.5Mb+300-500Kb的皮肤SWF。它只是做了很多。因此,使其更苗条是一项值得努力的任务。30K很小,但对于空的SWF来说不是。如果你想为你的应用程序提供简单的插件,那么你最终会得到40K个插件,其中25%是你使用的。假设你有10-20个插件,它开始产生真正的影响。每隔一段时间,我就会看到人们谈论Hello World风格的应用程序的大小,作为平台膨胀、效率低下等方面的指标。但是,Flex应用程序的大小不会随着功能的增加而增加。添加另一个标签并不意味着你会将应用程序的大小增加一倍。我建议推迟这件事,并在它成为问题时处理它。我怀疑更大的问题将是加载/卸载插件的内存管理;不是插件的大小。我们有15个模块,其中7个在启动时加载。我们额外加载210KB。这是一个问题;有什么问题?装载时间?安装时间?我使用过的大多数Flex应用程序都在500K范围内。直到swf超过1MB,我才开始担心。我是Maxim的collegue。我们的美联社
p约为2.5Mb+300-500Kb的表皮SWF。它只是做了很多。因此,使其更精简是一项值得努力的任务。我将把该SWF加载到包含所有Flex SDK类的ApplicationDomain中,所以这不是一个问题。它看起来更像是一个编译器错误。我将把这个SWF加载到包含所有FlexSDK类的ApplicationDomain中,所以这不是问题。它看起来更像是一个编译器错误。