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
相关文档:
1、mian.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="HTTPSrv.send();" width="242" height="442">
<mx:Script>
<!--[CDATA[
import mx.rpc.events.ResultEv ......
1flex端
<mx:Button label="下 载" click="download()"/>
//下载
public function download():void{
var str:String=this.uploadfiles.selectedIndex.toString();
if(str=="-1"){
Alert.show("请选中要下载的文件");
&n ......
http://www.adobe.com/cn/devnet/flex/articles/best_practices_pt2_07.html
Flex 最佳做法 - 第 2 部分: 开发做法
Flex 开发最佳做法回顾
这些做法可以应用到所有 Flex 应用程序。请查看这些做法:
创建和使用 assets 目录
使用 assets 目录中的子目录
使用 SWF 目录
使用 images 目录
&n ......
估计不少做Flex的初学者和我一样,寻找让Flex背景图片平铺显示方法。
但现在我要告诉你的是Flex本身没有提供这种方法,至少在Flex3上是没有提供的。
所以就要自己写代码来实现这种效果,其实很简单的。
下面是我在网上找到的一个方法,然后自己做了一点小小的修改。
并做一个简单的例子放上来,你可以点这里下载。
......
AMF是Adobe独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为Flash 播放器与Flash Remoting网关通信提供了一种轻量级的、高效能的通信方式。如下图所示:
AMF(Action Message Format)是一种 binary format的资料型态,透过 AMF overHTTP的方式将flash端资料编码后传回server,server端的 ......