我以前不需要搬走一个孩子,但现在我已经搬走了。 我一直在每帧向舞台添加MovieClips,但是在50个MovieClips之后,我想删除最后一个,以避免几分钟后出现滞后和内存占用。 所以我用谷歌搜索,这就是我想出的:
if (id > 50) {
var toDelete: DisplayObject = this.getChildByName("track" + String (id - 50));
removeChild(toDelete);
toDelete = null;
}
每个对象的名称均为“ trackX”,并且X不断上升。 问题是,id达到50后,我得到了:
TypeError:错误#1009:无法访问空对象引用的属性或方法。
所以我之后尝试的是将removeChild替换为
toDelete.alpha = 0;
我没有收到任何错误,程序执行了我想要的操作。除了所有对象实际上都保留在内存中,并且在很短的时间后就会出现延迟。
已经半个小时了,我不知道该怎么办。我认为我使用了removeChild错误,因为我以前从未使用过。