了解一些MXMLC的一些参数,对于深入理解FLEX有着很好的帮助.-keep-generated-actionscript尤其实用.因为可以使用他查看MXML编译成AS的代码.照样对于了解生命周期,
事件传递机制...有很大的帮助.对于Bindable关键字,在申明时,请思考是否有其他的变通解决方法,不要随意加上这个关键字.Bindable会为这个对象与之相关的部位生成大量的代码,对于
复杂的组件来说,AS文件膨胀的比较可观.
http://www.k-zone.cn/zblog/post/flex-compiler-parameter.html
加入:
-locale zh_CN -link-report=c:\flexws\Flex_web\FlexWeb_report.xml -load-externs=c:\flexws\MyLib\myLib_report.xml
会使得module编译变小很多。
【将SWF文件最优化】
如果你查看一下主程序的SWF文件和模块(Module)的SWF文件的话,你会发现它们的大小差不多。这就说明,模块的SWF和主程序SWF中有很多同样的组件定义。
Flash Player并不会保存元件(symbol)的副本。例如,如果主程序有一个Button组件而一个模块(Module)也有一个Button组件,Flash Player就不会从模块中加载Button了,因为它已经在主程序中有定义了。
使用-link-report=report.xml编译主程序,这样会创建一个链接到主程序的包含所有元件信息的文件。然后在编译模块(Module)的时候会使用那个report.xml文件。
程序代码mxmlc -load-externs=report.xml ChartModule.mxml
当ChartModule被编译的时候,所有在report.xml文件中列出的元件将会在它的SWF中省略。当我不使用report.xml文件编译ChartModule.swf的时候,它的大小是202K。而当我使用report.xml文件的时候,SWF的大小只有68K。这大大减少了模块(Module)的加载时间。
在文章的开始将到模块(Module)的时候,我提过接口有另一个作用。假设你没有使用接口而是在主程序中引用模块的类。当你运行link-report的时候,你的模块类将会出现在report.xml中。当你使用使用link-report编译模块(Module)的时候你的模块并不会包含在它自己的SWF中!起初这并不会成为一个问题,尽管主程序由于包含了模块的定义而变得很大。然而,当你更改你的模块的时候发生了什么才是重要的。如果你没有重新编译主程序,你主程序的SWF文件将会包含模块(Module)旧的定义——而不是你已经更改过的。
程序代码mxmlc -link-report=report.xml Main.mxml
mxmlc -load-externs=report.xml ChartModule.mxml
// etc.
如果你决定使用这个技术来减小模块(Module)的大小,那么就使用接口来确保终端用户使用的总是模块(Module)的最新版本。
事件传递机制...有很大的帮助.对于Bindable关键字,在申明时,请思考是否有其他的变通解决方法,不要随意加上这个关键字.Bindable会为这个对象与之相关的部位生成大量的代码,对于
复杂的组件来说,AS文件膨胀的比较可观.
http://www.k-zone.cn/zblog/post/flex-compiler-parameter.html
加入:
-locale zh_CN -link-report=c:\flexws\Flex_web\FlexWeb_report.xml -load-externs=c:\flexws\MyLib\myLib_report.xml
会使得module编译变小很多。
【将SWF文件最优化】
如果你查看一下主程序的SWF文件和模块(Module)的SWF文件的话,你会发现它们的大小差不多。这就说明,模块的SWF和主程序SWF中有很多同样的组件定义。
Flash Player并不会保存元件(symbol)的副本。例如,如果主程序有一个Button组件而一个模块(Module)也有一个Button组件,Flash Player就不会从模块中加载Button了,因为它已经在主程序中有定义了。
使用-link-report=report.xml编译主程序,这样会创建一个链接到主程序的包含所有元件信息的文件。然后在编译模块(Module)的时候会使用那个report.xml文件。
程序代码mxmlc -load-externs=report.xml ChartModule.mxml
当ChartModule被编译的时候,所有在report.xml文件中列出的元件将会在它的SWF中省略。当我不使用report.xml文件编译ChartModule.swf的时候,它的大小是202K。而当我使用report.xml文件的时候,SWF的大小只有68K。这大大减少了模块(Module)的加载时间。
在文章的开始将到模块(Module)的时候,我提过接口有另一个作用。假设你没有使用接口而是在主程序中引用模块的类。当你运行link-report的时候,你的模块类将会出现在report.xml中。当你使用使用link-report编译模块(Module)的时候你的模块并不会包含在它自己的SWF中!起初这并不会成为一个问题,尽管主程序由于包含了模块的定义而变得很大。然而,当你更改你的模块的时候发生了什么才是重要的。如果你没有重新编译主程序,你主程序的SWF文件将会包含模块(Module)旧的定义——而不是你已经更改过的。
程序代码mxmlc -link-report=report.xml Main.mxml
mxmlc -load-externs=report.xml ChartModule.mxml
// etc.
如果你决定使用这个技术来减小模块(Module)的大小,那么就使用接口来确保终端用户使用的总是模块(Module)的最新版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。