【问题标题】:Flex-produced SWF size a lot bigger than Flash Pro'sFlex 生成的 SWF 大小比 Flash Pro 大很多
【发布时间】:2012-07-11 16:45:20
【问题描述】:

我创建了一个纯 Actionscript 项目,我需要将其嵌入并编译到 Flex 中。主要原因是我需要使用Web Services,而在Pro中使用它们要困难得多。

在 Pro 中编译项目时,生成的 SWF 只有 167KB - 不包括 Web 服务和 Flex 的默认预加载器。当“入侵”到 Flex 中时,它会飙升到惊人的 975KB。 Web 服务肯定不能占用 800KB 的大小。两者都没有嵌入图形或声音。

这是我用来将我的项目嵌入到 Flex (main mxml) 中的 hackish 方式:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" width="1300" height="700" applicationComplete="init()"
               preloader="mx.preloaders.DownloadProgressBar">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            private function init():void
            {   
                var show:TradeShowOrig = new TradeShowOrig();
                this.stage.addChild(show);
                show.init();
            }
        ]]>
    </fx:Script>

</s:Application>

我想,臃肿的是&lt;s:Application&gt; 的使用,它也未被使用。谁能推荐任何可能减小 SWF 大小的方法?

【问题讨论】:

  • 你有什么理由不编译一个纯 ActionScript 项目(即从一个文档类)而不是使用 MXML hack?
  • 就像我说的,我需要使用 Web 服务,它为 Flex 提供了开箱即用的服务,但在 Pro 中则不然

标签: actionscript-3 size flash


【解决方案1】:

您看到更大的 Flex 应用程序有两个原因

  1. 正如您所指出的,s:Application 是一个基于和引用 Flex 框架中大量类的类,它为应用程序引入了 800K 大小。我已经使用 Flash 和 Flex 多年了。 Flex 提供创建企业应用程序的灵活性,它还提供 CSS、火花皮肤、灵活和流畅的布局。这些特性使企业开发人员能够快速创建业务应用程序。虽然 800K 看起来很大,但我们不再生活在 9600bps 调制解调器的时代。

  2. Flex 输出调试和发布 SWF。 SWF 的调试版本要大得多,因此如果您导出发布版本,您会看到较小的 SWF。

Adobe 还引入了 cachable 框架,它本质上将 flex 框架外部化为一个只需要下载一次的可缓存和可重用的 RSL。这将从 Flex 应用程序中减少相当多的 KB。要启用该功能,您需要更改每个库在 Flex 构建路径对话框中的链接方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 2013-02-05
    • 2011-01-22
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多