Flex App的Size和Link报告
Flex App的Size和Link报告
Flex编译器参数: -size-report 和 -link-report
编译参数
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部分如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<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部分内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
< ?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报告相关推荐
- Android 性能优化:使用 Lint 优化代码、去除多余资源,减少APP的size
前言 在保证代码没有功能问题,完成业务开发之余,有追求的程序员还要追求代码的规范.可维护性. 今天,以"成为优秀的程序员"为目标的拭心将和大家一起精益求精,学习使用 Lint 优化 ...
- 人机交互技术课程实验报告《社交点评APP》系统移动界面分析报告
人机交互技术课程实验报告 <社交点评APP>系统移动界面分析报告 班级: 学号: 姓名: 需求分析[U1] 1.1系统功能介绍[02] <社交点评APP>是一个当下年轻人用于分 ...
- 奇安信病毒检测中心 2022年第二季度App收集个人信息检测报告 学习笔记 附下载地址
奇安信 2022年第二季度App收集个人信息检测报告 下载地址 2022年第二季度 APP收集个人信息 检测报告 奇安信 病毒响应中心 研究背景 随着互联网和移动设备的发展,手机已成为人人都拥有的设备 ...
- 在线产品经理实习 任务二:为搜狐视频APP做用户反馈分析报告
任务二:为搜狐视频APP做用户反馈分析报告 一.任务简介及要求 出题人:赵洪胜 搜狐视频产品总监 你知道每个新同学加入公司后,第一个要做的工作一般是什么吗?不是功能设计,不是改变世界,不是从0到1,而 ...
- 安卓APP源码和设计报告——基于Android的垃圾分类系统
<移动应用开发>大作业报告 题 目 基于Android的垃圾分类系统 系 部 班 级 学 生 姓 名 学 号 指 导 教 师 时 间 ...
- 安卓APP源码和设计报告——仿淘宝水果商城
项目名称 仿淘宝水果商城 项目概述 随着互联网技术地高速发展,计算机进入到每一个人的生活里,从人们的生活方式到整个社会的运转都产生了巨大的变革,而在信息技术发达的今天,互联网的各种娱乐方式都在渗透到人 ...
- 安卓app源码和设计报告——简易记账本
课 程 设 计(实训)说 明 书 题目 实现简易记账本功能 专 业 班 级 学生姓名 同组学生 指导老师 课程设计(实训)评语 学生姓名 专业 班级 2 题目 实现简易记账本功能 评语: 成绩: 优 ...
- 血的教训, 通过中国银行app查询个人征信报告需要多久
背景 today,接到一个度小满金融客服的电话, 说我有一个19年的贷款申请记录,今日通过审批. 当时心里就是哔了狗了,感觉这货会影响征信.遂打电话给客服要求注销账号, 结果蛋疼的非要我下载app.算 ...
- 安卓APP源码和设计报告——快递查询录入系统
<多媒体通信技术> 题 目: 快递 完 成 日 期 2022年05月 目 录 1 绪论1 2 设计方案2 2.1 设计思路和方案2 2.2 功能要求2 2.3 设计的流程图2 3 设计过程 ...
最新文章
- Varnish 4.0.3详细配置
- UA MATH563 概率论的数学基础 中心极限定理16 Kolmogorov 3-series定理
- kvm 虚拟机 实用工具笔记(方便查看ip 磁盘复制和修改文件等)
- Oracle--SQL技巧之二(多行记录用逗号拼接在一起)
- java界面 文件选择器_掌握java技术 必备java工具应用知识
- 在VI中删除行尾的换行符
- Mongodb 安装和启动
- nginx设置 二级域名 指定端口
- Linux的实际操作:文件目录类的实用指令(echo head tail)
- Android软硬整合设计与框架揭秘教程
- ubuntu 安装 theano
- shutdown函数
- Listener中应用spring管理的Bean
- MySql视图、存储过程、函数、索引
- COAP协议全面分析
- MATLAB图像处理学习日记之图像的自定义裁剪imcrop操作
- 计算机网络双绞线的功能,双绞线由几根组成?双绞线每根线的作用
- linux查看照片命令,php 及 linux 命令行方式读取 图片 exif 信息
- R语言入门——不掉包实现FNN(单层感知机)
- android 平板 旗舰,聊一款旗舰级安卓平板电脑
热门文章
- mac 打不开 不受信任_管理不受信任的外键
- “校园知网”5月8日冲刺计划书
- Web常见漏洞修复建议
- 内置auth 的使用,用超级用户创建
- IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误
- HttpContext.Current.Session.SessionID相关问题及备忘
- 1004. Counting Leaves (30)
- 设置mysql允许外网访问
- 2018年广西计算机一级,关于2018年上半年广西壮族自治区全国计算机等级考试报名工作的通知...
- Java多线程基础总结