以前看flex 性能优化一文后记录

类别:编程语言 点击:0 评论:0 推荐:
名称 flex 性能 改善性能 避免多层嵌套容器 一条好经验是避免容器的嵌套超过三层 用 spacer 对象来填充不需要的空白 绝对定位和缩放 每个容器及其子对象大小和位置的计算会占用大量资源 对象位置固定编码 使用 Canvas 容器,其它类型的容器(如 Vbox)无法使用绝对位置 将对象宽度和高度固定编码 可减轻相对布局管理器的处理负荷,从而加速容器和控件的创建 避免的常见容器冗余 <mx:Panel> 标签中的 VBox 容器 <mx:Application> 标签中的 VBox 容器作为 MXML 组件的顶层标签,能不用时可以舍弃 MXML 组件外包上不必要的 VBox 容器来设置某些样式,可以在组件上设置样式 重新评价对容器的选择 改善性能感受 推迟实例化 在可以不必一个屏幕显示时可以使用 Flex 中的导航条容器(ViewStack、Accordin、TabNavigator)中内置了推迟实例化,默认推迟实例化 creationPolicy="auto,all,none" 渐进式布局 需要一个屏幕显示,但重绘有效率低时 使用运行时样式得到良好性能(不宜多用) 注意:第一次最好不要使用setStyle() 方法 样式使用 <mx:Style> 块中(作为 MXML 标签的一个显式属性) 外部 CSS 样式表,(全局样式) 数据服务 flash 安全沙箱 由于 Flash Player 安全沙箱的存在,对 web 服务的请求只能到 加载 SWF 文件的同一个域。 使用代理(不在同一主机或域) useProxy="true"属性直接调用服务。 不使用代理(在同一主机或域) useProxy="false"属性直接调用服务。终端服务必须有 crossdomain.xml 文件。 两种性能最好的发送数据方法是使用 HTTPService 的 XML 和使用 AMF 的 RemoteObject。 Web 服务代理 <mx:WebService> 远程对象代理<mx:RemoteObject> HTTP 服务<mx:HTTPService> 实施 预编译 MXML 页 预编译应用程序还能使开发者分发不带源码的应用程序。   flex 1.在 mx.swc 看原类中的一些函数 2. cellRenderer,labelFunction 查看 CellRenderer API 3.Effect 使用 改变显示效果<mx:Effect> mouseDownEffect mouseOverEffect mouseUpEffect moveEffect resizeEffect showEffect mouseOutEffect hideEffect 3.其它技巧看 flexbook   JavaScript 1.直接使用 getUrl 使用JavaScript 打开全屏窗口 getUrl(javascript:void(window.open('test.mxml','newwindow','fullscreen=yes,type=fullWindow,scrollbars=no,directories=no,status=no,menubar=no'))); 关闭当前窗口(无提示关闭) getUrl(javascript:window.opener = 'dsg';window.close();); 2.在生成的html 文件中加入 JavaScript ,通过 getUrl使用 JavaScript

本文地址:http://com.8s8s.com/it/it24793.htm