ActionScript 3 和 Flex框架的性能优化
几日前被老总推荐文章一篇,来自7yue兄的blog,作者是Sean Moore ,
原文地址:http://www.insideria.com/2009/04/51-actionscript-30-and-flex-op.html
与其在程序写完了之后臃肿得跑不动,不如平时注意这些关键点,时时提醒自己。翻译出来,以便以后时时查阅。
1 创建新数组时避免使用它的构造函数。
这样做:var a = [];
而不要这样做:var a = new Array();
2 创建数组是一个消耗量很大的操作,所以请谨慎进行以下类型的操作:
var vanityCollection01 : Array = new Array();
var vanityCollection02 : Array = new Array();
var vanityCollection03 : Array = new Array();
var vanityCollection04 : Array = new Array();
3 复制一个数组最快的方式是:
var copy : Array = sourceArray.concat();
4 无论你用哪种方式,为数组的元素设置值都是一个慢的操作。
employees.push( employee );
employees[2] = employee;
5 在数组中获得一个值的速度是设置一个值的二倍。
var employee : Employee = employees[2];
6 将属性函数设置为静态函数,这样你在使用它的时候就不用实例化一个该类的对象。
StringUtils.trim( "text with space at end " );
类定义:
package
{
public final class StringUtils
{
public static function trim( s : String ) : String
{
var trimmed : String;
// 逻辑实现代码
return trimmed;
}
}
}
7 使用常量关键字const来定义那些在程序运行周期内都不会发生值改变的属性。
public const APPLICATION_PUBLISHER : String = "Comp
相关文档:
初学flex,遇到一个问题‘在datagrid的一列中利用它的值转换显示不同的图片’,在网上搜了搜问了问,解决了哎,解决办法贴出来,希望对其他人有帮助,
利用datagrid的labelFunction解决的,如下:
在datagrid的
<mx:DataGridColumn dataField="level" labelFunction="formatiImg"/>
/* ......
1.flex端
<mx:Button id="upload" label="上传文件" click="ExternalInterface.call('openUpload');"/>
2后台
2.1 openUpload是后台的js脚本(jsp)
function openUpload(){
var url="/OA/service/upload.jsp";
newWin=jscomNewWinOpenByS ......
cimmicola能否讲讲flex开发经验(轉貼)应该清楚Flex是完全编译成swf文件后交由客户端浏览器中的Flash player来执行的。而不像传统web语言,经由服务端进行解释后转化为纯html元素和脚本。
这样来说,一个纯Flex应用(主要是指企业级开发,有很多功能和业务流程的那种)编译之后的体积,基本上是不能在互联网上 ......
估计不少做Flex的初学者和我一样,寻找让Flex背景图片平铺显示方法。
但现在我要告诉你的是Flex本身没有提供这种方法,至少在Flex3上是没有提供的。
所以就要自己写代码来实现这种效果,其实很简单的。
下面是我在网上找到的一个方法,然后自己做了一点小小的修改。
并做一个简单的例子放上来,你可以点这里下载。
......