`
yhk051hf
  • 浏览: 15519 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧

阅读更多

AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧
2011年12月31日
   1. 及时removeChild,在第二次加载前先removeChild.而后再addChild
  2. 实例化在构造函数中实例化。在别的方法中实例化的,先判断是否存在,如果有耐不实例化了。确保并且只有一次。
  3. 注册的事情。用完了在回调函数就删除。要养成好习惯:)
  4. 改进算法,无论对于哪个程序,好的算法总是非常重要的,而且能够极大地提高程序性能,所以任何性能的优化第一步就要从算法或者说程序逻辑的优化开始,检查自己的程序是否有多余的运算,是    否在没有必要的时候做了无用功,往往从这些方面就能找到那些导致性能低下的地方。
  5. 优化细节代码,有一些小技巧比如:
  用 var obj:Object = {}; 要比 var obj:Object = new Object();要好;
  var arr:Array = []; 要比 var arr:Array = new Array(); 要好;
  for (var i:int=0, len=arr.length; i 如果不是为了保存颜色直请不要适用uint这个类形,他的速度比起 int要慢多了;
  Array的遍历要比Object或者Dictionary的玫举要快得多。
  if (myObj != null) 要比 if (myObj) 的速度要慢
  for (var i:* in myObj) 比 for (var i:String inmyObj) 要快;
  Dictionary当 weak key设置为 true 的时候要比 false 慢; flash制作
  var myText:String = "a" + "b" + "c";
  var myText2:String = [ "a", "b", "c" ].join("");
  在JavaScript里面在IE下后者要更快,但是在AS里面,前者更快!
  在循环体内声明变量和在循环体外声明变量其实速度上不会有太大的区别。
  6. 以空间换时间,说白了眷涨以内存换CPU,例如将不变动的直进行保存,免去下次需要此数据的时候进行再次计算,虽然原理很简单,但是有的时候却很容易疏忽掉,而这个往往就造成你的算法效率   低下的问题。
  7. 清除冗余的代码,有些代码可能你的程序一辈子也不会执行到,请把这些没有用的代码或者对象清理掉,否则内存会被偷偷的蚕食掉。
  8. 小心使用useBitmapCache = true 一般情况下除非你确定这个显示对象不可内洧生变动那么用用也无妨,不过我更推荐自己手动的用BitmapData将该对象Draw一遍,而后让这个对象彻底消失。否则每   次的变动都是巨大的性能消耗。
  9. 关于存储  使用适当的Display Object
  Shape
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics