我很难理解我期望成为内存管理的基本原理。希望有人可以提供一个解释,这将有助于我更好地理解。AS3重复使用变量
我已经声明了一个类变量'slideShow'。
var slideShow:SlideShow;
function addSlideShow(e:MouseEvent):void {
slideShow = new SlideShow();
addChild(slideShow);
}
function clearSlideshow (e:MouseEvent):void {
removeChild(slideShow);
}
如果我调用该函数addSlideShow两次,将创建幻灯片类的两个实例,并添加到舞台上。
如果我调用clearSlideshow两次,则只有一个实例从舞台上移除。第二次调用会产生错误。
我在想我每次调用addSlideShow时,变量slideShow都会被新的SlideShow实例覆盖,因此只会创建一个实例。这显然不是这种情况。
考虑到这一点,下面是正确的方法来处理的事情,我创建一个新的实例之前,删除和null slideShow变量?
var slideShow:SlideShow;
function addSlideShow(e:MouseEvent):void {
try {
removeChild(slideShow);
slideShow = null;
} catch (e:Error) {
trace(e);
}
slideShow = new SlideShow();
addChild(slideShow);
}
function clearSlideshow (e:MouseEvent):void {
try {
removeChild(slideShow);
slideShow = null;
} catch (e:Error) {
trace(e);
}
}
感谢您提供任何帮助。