首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3内存管理基础知识

AS3内存管理基础知识
EN

Stack Overflow用户
提问于 2011-12-08 00:33:29
回答 1查看 347关注 0票数 2

我想知道是否有人能为我回答这个问题。

假设我创建了一个类对象的实例:

代码语言:javascript
复制
var holderObject:HolderObject = new HolderObject();
addChild(holderObject);

作为HolderObject构造函数代码的一部分,它分配了10个新的实例变量:

代码语言:javascript
复制
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;

这些内存分配中有没有可用于垃圾回收的?

或者我是否需要显式地撤消我所做的步骤,即:

代码语言:javascript
复制
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;


}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-08 01:04:33

是的,如果没有对这些对象的其他引用,它们将被垃圾回收。

Understanding garbage collection in Flash Player 9

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8418896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档