as3,为什么嵌入的图像在编译后会做内存nomnom?

时间:2014-05-03 13:27:28

标签: actionscript-3 memory compilation embedded-resource

场合
~~~~~~~~
我正在编写一个as3视频游戏,当我检查项目的大小与编译的swf相比时,我感到非常惊讶。

我的项目规模28个月。 - 资产是26 Mo. - src是2 Mo

当我用嵌入式图像编译它时,我得到242 Mo swf。 当我在没有任何嵌入资源的情况下进行编译时,我得到18 Mo swf。

问题:
~~~~~~~~
简单地嵌入项目中的资产如何从26 Mo变为(242 - 18 =)224 Mo? (我正在寻找技术答案)。

备注:
~~~~~
我对运行时没有任何问题。 我知道我必须使用加载器而不是在我的项目中嵌入大量资源,我只是想知道原因。

1 个答案:

答案 0 :(得分:0)

也许您的资产以某种方式多次被包含在内。幸运的是,有一些工具可以帮助你弄清楚发生了什么:

  • 在Adobe Flash CC(以及其他版本中),您可以转到File -> Publish Settings -> Flash (.swf) -> Advanced并选中Generate Size Report框。这将在发布的输出面板中输出一些文本,显示swf中所有内容的大小和类别。
  • 或者,您可以尝试使用Visual Size Report插件。从来没有尝试过,所以不确定它是否有用。
  • 如果您正在使用FlashDevelop,并且将.swf作为项目的一部分,则可以查看有关其大小的一些详细信息。 Here's an example.
  • 最后,如果您使用flex和mxmlc进行编译,则可以添加-link-report filename选项以生成可帮助您解决问题的报告。