网站大量收购独家精品文档,联系QQ:2885784924

ActionScript3及Flex框架的性能优化.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ActionScript3及Flex框架的性能优化

ActionScript 3 和 Flex框架的性能优化 与其在程序写完了之后臃肿得跑不动,不如平时注意这些关键点,时时提醒自己。翻译出来,以便以后时时查阅。 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 = “Company, Inc.”; 8 当一个类不再需要有子类的时候,将它定义为final类。 ?? public final class StringUtils 9 巨长的函数名和变量名在Action Script 3中不会造成任何额外的消耗,(在其他语言中也是) ?? someCrazyLongMethodNameDoesntReallyImpactPerformanceTooMuch(); 10 在单行内定义多个变量不会带来任何性能的提升(在其他语言中也是) ?? var i=0; j=10; k=200; 11 使用if和使用switch做逻辑判断所消耗的内存是没有区别的,例如: ?? if ( condition ) ?? { ?? // 处理条件下的逻辑 ?? } ?? 跟使用switch ?? switch ( condition ) ?? { ?? case “A”: ?? // A条件下的处理逻辑 ?? break; ?? case “B”: ?? // B条件下的处理逻辑 ?? break; ?? } ?? 没有任何内存消耗上的区别。 12 使用if做逻辑判断时,尽可能的按照最有可能发生的情况的顺序来顺序排列。例如: if ( 最有可能发生的情况 ) { ?? // 处理最有可能发生的情况。 } else if ( 有时候会发生的情况 ) { ?? // 处理有时候会发生的情况。 } else { ?? // 处理以上判断都没有发生时的情况 。 } 13 AVM在循环体内部进行计算时,将整型int数据提升为浮点型Number进行处理,(从fp9到fp10,虚拟机已经有所改变,int,uint,number之间的转换不再像之前那么慢了。) 14 注意解决类型转换,未知类型(unknown),非法类型(incorrect)的问题。 15 慎重使用 uint ,它会使程序变慢。 ?? var footerHex : uint = 0×00ccff; 16 在迭代器中使用整型作为增长量 ?? 应该这样使用: ?? for(var i: int = 0; i n; i++) ?? 而不是: ?? for (var i: Number = 0; i n; i++) 17 不要为int型变量赋小数值。 ?? 应该这样用: ?? var decimal : Number = 14.654; ?? 不应该: ?? va

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档