Flex App的Size和Link报告
来源:互联网 发布:以色列 知乎 编辑:程序博客网 时间:2024/05/16 09:39
Flex App的Size和Link报告
编译参数
Flex编译器提供了一系列的编译器参数帮助我们定制应用编译过程。Flex开发者应该了解这些相关的编译参数。在Flex的在线帮助中提供了编译器参数列表。
在这篇文章中,我们介绍两个帮助你深入了解编译结果SWF内部组成的参数-link-report和-size-report。
-link-report
在Flex3.x和4.0版本的编译器中已经提供了-link-report参数,使用该选项编译Flex应用后,可以生成XML格式的SWF中内嵌的AS3类报告,该报告中也会知名每个类所占有的空间。但是,在这个报告中只提供了针对这些AS3类的尺寸,而没有更高层面的size报告,比如内嵌的字体,图片,或者SWF中其他元件等等。
Flex编译参数:-size-report
为了提供针对更高层面内容的size报告,在Flex HERO中,又提供了一个新的编译器参数-size-report,使用这个报告,开发者能够更加清楚Flex应用swf文件中,各个部分占用的空间情况,并有针对性的进行调整,以缩小swf的尺寸。
下图显示了如何设置编译器参数:
示例
所生成的linkReport部分如下:
123456789101112131415161718192021222324252627282930313233343536
<report> <scripts> <script name="/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/textLayout.swc(flashx.textLayout.events:CompositionCompleteEvent)" mod="1295643054000" size="1904" optimizedsize="758"> <def id="flashx.textLayout.events:CompositionCompleteEvent" /> <pre id="flash.events:Event" /> <dep id="flashx.textLayout.elements:TextFlow" /> <dep id="AS3" /> </script> <script name="/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/framework.swc(mx.styles:CSSSelector)" mod="1275497464070" size="2200" optimizedsize="1261"> <def id="mx.styles:CSSSelector" /> <pre id="Object" /> <dep id="mx.styles:CSSCondition" /> <dep id="mx.styles:CSSConditionKind" /> <dep id="AS3" /> <dep id="mx.core:mx_internal" /> <dep id="mx.styles:IAdvancedStyleClient" /> </script> <script name="/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/framework.swc(mx.graphics:BitmapFillMode)" mod="1275497481789" size="490" optimizedsize="261"> <def id="mx.graphics:BitmapFillMode" /> <pre id="Object" /> <dep id="AS3" /> </script> <script name="/Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/framework.swc(mx.utils:DescribeTypeCache)" mod="1288294862779" size="1706" optimizedsize="990"> <def id="mx.utils:DescribeTypeCache" /> <pre id="Object" /> <dep id="flash.utils:describeType" /> <dep id="ReferenceError" /> <dep id="flash.utils:getQualifiedClassName" /> <dep id="mx.utils:DescribeTypeCacheRecord" /> <dep id="AS3" /> <dep id="mx.binding:BindabilityInfo" /> <dep id="flash.utils:getDefinitionByName" /> <dep id="XML" /> <dep id="mx.core:mx_internal" /> </script></scripts></report>
sizeReport部分内容如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
< ?xml version="1.0" encoding="UTF-8"?><report> <swf size="4555178" compressedSize="2066554"> <!-- Header data (SWF attributes, product info, markers, etc.) --> <headerdata totalSize="564"> <data type="metaData" size="462"/> <data type="productInfo" size="28"/> <data type="swfHeader" size="21"/> <data type="debugID" size="18"/> <data type="enableDebugger" size="16"/> <data type="fileAttributes" size="6"/> <data type="scriptLimits" size="6"/> <data type="backgroundColor" size="5"/> <data type="endMarker" size="2"/> </headerdata> <!-- Cumulative frame size summary. --> <frames totalSize="4554614"> <frame name="_Main_mx_managers_SystemManager" size="135580" frame="1"/> <frame name="Main" size="4419034" frame="2"/> </frames> <!-- Actionscript code and constant data. --> <actionscript totalSize="4525102"> <abc name="mx/core/UIComponent" size="105259" frame="2"/> <abc name="flashx/textLayout/container/ContainerController" size="82639" frame="2"/> <abc name="mx/core/Container" size="49876" frame="2"/> <abc name="spark/components/DataGrid" size="47363" frame="2"/> <abc name="spark/primitives/supportClasses/GraphicElement" size="45898" frame="2"/> <abc name="flashx/textLayout/compose/TextFlowLine" size="42200" frame="2"/> <abc name="spark/components/RichEditableText" size="42086" frame="2"/> <abc name="flashx/textLayout/container/TextContainerManager" size="41952" frame="2"/> <abc name="spark/components/Scroller" size="40208" frame="2"/> <abc name="flashx/textLayout/compose/BaseCompose" size="39741" frame="2"/> <abc name="flashx/textLayout/elements/FlowElement" size="39226" frame="2"/> <abc name="spark/components/Grid" size="39090" frame="2"/> <abc name="flashx/textLayout/formats/TextLayoutFormat" size="37385" frame="2"/> <abc name="spark/components/gridClasses/GridLayout" size="36929" frame="2"/> <abc name="mx/managers/SystemManager" size="36356" frame="1"/> <abc name="mx/core/FTETextField" size="34531" frame="2"/> <abc name="flashx/textLayout/edit/SelectionManager" size="28537" frame="2"/> <abc name="_Main_Styles" size="27469" frame="2"/> <abc name="spark/components/WindowedApplication" size="27380" frame="2"/> <abc name="spark/components/List" size="25814" frame="2"/></actionscript></swf></report>
在size-report中,按照头数据(HeaderData),帧小结(Frame Summary), 帧数据(Frame Data),ActionScript数据(ActionScript的代码和常量数据),Bitmap数据,字体,图形数据,声音数据,视频数据等类别组织。
非常容易使用的方法帮助你详细了解编译后SWF文件的内部组成。如果你使用命令行,可以运行如下命令:
mxmlc -size-report=sizeReport.xml -link-report=linkReport.xml xxxx.mxml
optimizer -keep-as3-metadata="Bindable,Managed,ChangeEvent,
NonCommittingChangeEvent,Transient" -input input_swf -output output_swf
- Flex App的Size和Link报告
- flex界面设计中根据用户屏幕的大小,需要设定应用程序界面的最小size 和最大size
- HDFS 的 file size 和 block size
- 使用大图+脚本,生成各种size的app icon和图片素材
- 使用大图+脚本,生成各种size的app icon和图片素材
- iOS开发:使用大图+脚本,生成各种size的app icon和图片素材
- appstore的app的link上mt=8和ls=1是什么意思
- LINK 2005 和 LINK 1169 的解决办法
- LINK 2005 和 LINK 1169 的解决办法
- LINK 2005 和 LINK 1169 的解决办法
- LINK 2005 和 LINK 1169 的解决办法
- 点击link打开自己的android app
- flex and bison.[link]
- NSimage的size和pixels
- string的size()和length()
- length和size()的区别
- vector的capacity和size
- string的size()和length()
- HDU 3277 Marriage Match III
- 实现 UnhandledExceptionFilter() 需要的几个问题
- 网站商铺格式问题 : style="word-wrap:break-word;table-layout: fixed;"
- C++重复定义
- grub的3种安装方式
- Flex App的Size和Link报告
- mysql on linux(ubuntu) 设置
- last working day
- HTTP中GET,POST方法之区别
- Javascript 垃圾回收机制 小结
- 我的工作态度
- 一个简单功能强大的Google Map 搜索源码
- Android判断手机是否飞行模式
- 用java实现Shell Sort