Flash AS3内存管理基础
我想知道是否有人能帮我回答这个问题 假设我创建了一个类对象的实例:Flash AS3内存管理基础,flash,actionscript-3,Flash,Actionscript 3,我想知道是否有人能帮我回答这个问题 假设我创建了一个类对象的实例: var holderObject:HolderObject = new HolderObject(); addChild(holderObject); 作为HolderObject构造函数代码的一部分,它分配10个新实例变量: var mcArray:Array = new Array(); for (var i:uint = 0; i > 9; i++) { var newMC:MovieClip = new Mov
var holderObject:HolderObject = new HolderObject();
addChild(holderObject);
作为HolderObject构造函数代码的一部分,它分配10个新实例变量:
var mcArray:Array = new Array();
for (var i:uint = 0; i > 9; i++) {
var newMC:MovieClip = new MovieClip();
newMC.addEventListener(MouseEvent.CLICK, doSomething, false, 0, true);
mcArray.push(newMC);
addChild(newMC);
}
如果我现在设置holderObject=null
这些内存分配中的任何一个都可以用于垃圾收集吗
或者我是否需要明确撤销我所做的步骤,即:
destroyHolder(holderObject);
function destroyHolder(theHolder:HolderObject):void {
for (var i:uint = 0; i > 9; i++) {
theHolder.mcArray[i].removeEventListener(MouseEvent.CLICK, doSomething);
theHolder.removeChild(theHolder.mcArray[i]);
theHolder.mcArray.splice(theHolder.mcArray.length-1, 1);
}
removeChild(theHolder);
theHolder = null;
}
是的,如果没有其他对这些对象的引用,它们将被垃圾收集 这个问题类似于