我想知道是否有人可以为我回答这个问题。
假设我创建了一个类对象的实例:
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;
}