提高flex应性能的技巧.docVIP

  • 1
  • 0
  • 约5.78千字
  • 约 8页
  • 2017-07-08 发布于贵州
  • 举报
提高flex应性能的技巧

有关提高flex应用性能的技巧 1. 不要使用new操作符创建数组,应使用 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. 从数组中读取元素的速度是为元素赋值速度的2倍: var employee : Employee = employees[2]; 6. 适当使用静态方法不需要实例化对象,可以提高性能: StringUtils.trim( text with space at end ); Class definition: package { public final class StringUtils { public static function trim( s : String ) : String { var trimmed : String; // implementation... return trimmed; } } } 7.将应用生命周期都不会改变的属性声明为常量: public const APPLICATION_PUBLISHER : String = Company, Inc.; 8. 当确定一个类不会派生子类时,应使用final修饰符: public final class StringUtils 9. 在ActionScript3中,方法和变量的长度不会对性能造成影响: someCrazyLongMethodNameDoesntReallyImpactPerformanceTooMuch(); 10. 在一行代码中进行多个变量赋值不会提高性能: var i=0; j=10; k=200; 11. 使用if语句和switch语句无内存开销的差异: if ( condition ) { // handle condition } 使用switch语句: switch ( condition ) { case A: // logic to handle case A break; case B: // logic to handle case B break; } 12.使用if语句时,尽可能地按照最有可能发生的情况的顺序进行判断和处理: if ( conditionThatHappensAlot ) { // logic to handle frequently met condition } else if ( conditionThatHappensSomtimes ) { // handle the case that happens occaisonally } else { // handle the case that doesn#8217;t happen that often } 13. AVM 在循环体内部进行计算时,将整型(int)数据提升为浮点型Number进行处理(从版本9到版本10,Actionscript虚拟机已经有所改变,int,uint,number之间的转换速度不再像之前慢了) 14. 要解决类型转换,就要先解决未知和不正确的对象类型 15. 谨慎使用unit,他可能会较慢(从版本9到版本10,Actionscript虚拟机已经有所改变,int,uint,number之间的转换速度不再像之前慢了) var footerHex : uint = 0x00ccff; 16. 应在for循环中使用in

文档评论(0)

1亿VIP精品文档

相关文档