收集了不少的会导致内存泄露的情况: 事件监听: 对父级对象加了监听函数,会造成内存泄露,例: override protected function mouseDownHandler(…):void { systemManager.addEventListener(“mouseUp”, mouseUpHandler); …… } 解决: 在销毁对象的时候,remove掉这些监听,虽然弱引用也可以避免这些问题,但自己掌控感觉更好。 但以下几种情况不会造成内存泄露: 弱引用:someObject.addEventListener(MouseClick.CLICK, handlerFunction, false, 0, true); 对自己的引用:this.addEventListener(MouseClick.CLICK, handlerFunction); 子对象的引用: private var childObject:UIComponent = new UIComponent; addChild(childObject); childObject.addEventListener(MouseEvent.CLICK, clickHandler); 总之…有addEventListener,就removeEventListener一下吧,要为自己做的事负责~哈哈 清除引用 remove掉子对象后并不会删除该对象,他还保留在内存中,应该将引用设置为null removeChildren(obj); obj = null;








