《FLEX提高编译效率解决方案》由会员分享,可在线阅读,更多相关《FLEX提高编译效率解决方案(9页珍藏版)》请在金锄头文库上搜索。
1、提高 Flex 编译效率方案一问题描述: .1二解决方案: .1三编译效率测试 .2四推荐方案 .9一问题描述:编译效率是开发效率中的一个重要环节,以下几种情况使得 FlexBuilder 的编译效率低下,1).开发人员的机器配置太低(要求 2G 以上内存) ,2).工程中加载的模块太多甚至模块间有关联,3).每次修改都自动编译整个项目。除了机器要求之外,以下分析并提供了四种能够提高编译效率的方式。 二解决方案: 1. 采用模块化开发,不开发的就不引用,这样可大大加快编译速度。开发人员各司其职,最后发布的时候再统一 builder。2. 把 Build Automatically 选项去掉,模
2、块编译改用手动 Build,修改完善之后才进行 Build,该方式为增量编译。3. 采用 fsch + ant 编译模块,fsch 是一个编译的后台程序,需要在开发机器上安装,通过 ant 执行 build.xml 文件来调用 fsch 服务,build 文件中的执行如下:这种方式产生的模块 swf 文件较采用 FlexBuilder 合并代码编译的结果小,但是 ant 编译目前无法结合应用程序 Main.mxml 方式编译,因此编译结果的模块需要添加样式文件,如:。4. 安装 YLZPlugin eclipse 插件,在 Flex 模块文件上点击右键菜单“编译 Flex模块”,这种方式编译简
3、单,编译效率高而且不需要每次要编译一个模块就修改ant 文件三编译效率测试以下测试环境:CPU 2.4GHZ内存:2G开发工具 Myeclipse8.5+FlexBuilder -Xmx768m-XX:MaxPermSize=256m-XX:ReservedCodeCacheSize=64m1. 采用 fsch + ant 的方式编译第一次编译:Buildfile: E:workspaceYLZCBPantbuild-fsch.xmlecho E:workspaceYLZCBPecho C:Program Files (x86)Fcsh Server/fcsh.jarbuildfcsh:fcs
4、h Server is not responding. Probably it is stopped. Trying to launch.fcsh Server startedfcsh Trying to connect. Attempt 1 of 5fcsh Paused for 2 seconds.fcsh Trying to connect. Attempt 2 of 5fcsh Connection establishedfcsh Send command: mxmlc E:workspaceYLZCBP/flex-src/modules/sysmanager/SysorgManage
5、r.mxml -output=D:greensoftwaretomcat5.5.20webappsYLZCBPswf/modules/sysmanager/SysorgManager.swf -load-config=D:flexsdks4.0.0/frameworks/flex-config.xml -source-path=E:workspaceYLZCBP/flex-src -library-path+=E:workspaceYLZCBP/flex-lib/YLZFlex.swc;E:workspaceYLZCBP/flex-lib/YLZFlex_core.swc;E:workspac
6、eYLZCBP/flex-lib/YLZFlex_report.swc -link-report=E:workspaceYLZCBP/flex-src/Main_report.xml -theme=D:flexsdks4.0.0/frameworks/themes/Halo/halo.swc fcsh fcsh: Assigned 1 as the compile target idfcsh Loading configuration file D:flexsdks4.0.0frameworksflex-config.xmlfcsh E:workspaceYLZCBPflex-srccomyl
7、zinfosysmanagerentitySysfunction.as(9): col: 21 Warning: variable“TYPE_FOLDER”没有类型声明。fcsh public static var TYPE_FOLDER=0; /节点fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfosysmanagerentitySysfunction.as(10): col: 21 Warning: variable“TYPE_LEAF”没有类型声明。fcsh public static var TYPE_LEAF=1; /叶子fcsh fcsh E
8、:workspaceYLZCBPflex-srccomylzinfosysmanagerentitySysfunction.as(11): col: 21 Warning: variable“TYPE_BUTTON”没有类型声明。fcsh public static var TYPE_BUTTON=2; /按钮fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(11): col: 21 Warning: variable“SERVICE_CURRENTUSER”没有类型声明。fcsh public static var
9、SERVICE_CURRENTUSER=loadCurrentUser;fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(12): col: 21 Warning: variable“SERVICE_LOGIN”没有类型声明。fcsh public static var SERVICE_LOGIN=syslogin;fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(13): col: 21 Warning: variable“SERVICE_L
10、OGOUT”没有类型声明。fcsh public static var SERVICE_LOGOUT=syslogout;fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(15): col: 21 Warning: variable“SERVICE_MENU”没有类型声明。fcsh public static var SERVICE_MENU=sysfunction;fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(16): col: 21 W
11、arning: variable“SERVICE_SYSCODE”没有类型声明。fcsh public static var SERVICE_SYSCODE=syscode; fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(21): col: 24 Warning: variable“SERVICE_SYSFUNCTIONQUERY”没有类型声明。fcsh public static var SERVICE_SYSFUNCTIONQUERY=sysfunctionquery; fcsh fcsh E:workspac
12、eYLZCBPflex-srccomylzinfocommonsGlobals.as(23): col: 21 Warning: variable“SERVICE_REPORTS”没有类型声明。fcsh public static var SERVICE_REPORTS=loadStatisticalReports; fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(24): col: 21 Warning: variable“SERVICE_REPORTS_STATISTICAL”没有类型声明。fcsh public
13、 static var SERVICE_REPORTS_STATISTICAL=setStatisticalReports; fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfocommonsGlobals.as(27): col: 21 Warning: variable“SERVICE_LOCALDB”没有类型声明。fcsh public static var SERVICE_LOCALDB=localDBService; fcsh fcsh E:workspaceYLZCBPflex-srccomylzinfosysmanagerSystemUtil.as(26): co