AS3 内存回收机制一、 AS3 内存回收机制............................................................................................... 1 二、 AS3 内存回收机制............................................................................................... 2 三、 AS3 强制内存回收方法之二................................................................................ 3 四、 AS3 释放内存....................................................................................................... 6 五、 AS3 中的内存泄露与垃圾回收............................................................................ 8 六、 AS3 内存释放优化原则....................................................................................... 9 七、 as3 内存回收机制测试...................................................................................... 10 八、 AS3 内存优化 13条............................................................................................ 12 九、 AS3 的垃圾回收机制详解.................................................................................. 14 十、 flash as3 内存管理和资源管理.......................................................................... 17 十一、轻松几行让你 AS3 程序不再“内存泄露....................................................... 18 注意:本资源多半来源于互联网 sword 收集一、 AS3 内存回收机制 。非活动对象就是不再有任何其他活动对象引用它。为便于理解这个概念,有一点非常重要,就是要意识到除了非原生类型(Boolean ,String ,Number ,uint ,int 除外),你总是通过一个句柄访问对象,而非对象本身。当你删除一个变量其实就是删除一个引用,而非对象本身。 中内存机制的方法首先是引用计数法:引用计数法是一种用于跟踪活动对象的较为简单的方法,当你创建一个指向某个对象的引用,该对象的引用计数器加 1;当你删除该对象的一个引用, 0,该对象将被标记以便垃圾回收器回收。 var a:MovlieClip =new MovieClip (); addChild (a); //a的引用计数器为 1 var b:MovieClip =a;//a 的引用计数器为 2 addChild (b); removeChild (a); a=null ;//a 的引用计数器为 1 removeChild (b); b=null ;//a 的引用计数器为 0 其次是标志清除法: 清除法查找非活动对象。 FlashPlayer 从你的应用程序根对象开始( 中简称为 root )直到程序中的每一个引用,都为引用的对象做标记。接下来, FlashPlayer 遍历所有标记过的对象。它将按照该特性递归整个对象树。并将从一个活动对象开始能到达的一切都标记。该过程结束后, FlashPlayer 可以安全的假设:所有内存中没有被标记的对象不再有任何活动引用,因此可以被安全的删除。下图就是那张十分有名的图了: 绿色引用(箭头)曾被 FlashPlayer 标记过程中经过,绿色对象被标记过,白色对象将被回收。最后就是几种比较常见的内存泄露情况: 1. 引用泄露
AS3 内存回收机制 来自淘豆网www.taodocs.com转载请标明出处.