Actionscript 3 在计时器对象内重新创建新变量会降低性能吗?

Actionscript 3 在计时器对象内重新创建新变量会降低性能吗?,actionscript-3,flashdevelop,flash-cs6,Actionscript 3,Flashdevelop,Flash Cs6,大家好,我想知道每次调用计时器对象时,在计时器对象内重新创建可变电影剪辑是否会降低性能或导致内存泄漏。这就是我现在设置它的方式: private function addSwimPowerUp(e:TimerEvent):void { var newSwimPower:mcSwimPower = new mcSwimPower(); stage.addChild(newSwimPower); aSwimPowerUpArray.push(newSwimPower); }

大家好,我想知道每次调用计时器对象时,在计时器对象内重新创建可变电影剪辑是否会降低性能或导致内存泄漏。这就是我现在设置它的方式:

private function addSwimPowerUp(e:TimerEvent):void 
{
    var newSwimPower:mcSwimPower = new mcSwimPower();
    stage.addChild(newSwimPower);
    aSwimPowerUpArray.push(newSwimPower);
}

我用游戏中的所有计时器对象来实现这一点。我是否应该将
var newSwimPower
声明为一个私有变量?

创建某个对象的新实例,然后不对其执行任何操作将导致其最终的垃圾回收。也就是说,如果您的代码是:

private function addSwimPowerUp(e:TimerEvent):void
{
    var newSwimPower:mcSwimPower = new mcSwimPower();
}
然后所有的新电影都会被清理干净

至此,您将这些对象添加到显示树以及数组中。如果不从这两个对象中删除对象,它将不会被垃圾收集,这将是内存泄漏


newSwimPower
创建一个类级变量并分配给它不会有任何区别,除非您不垃圾收集引用它的类,那么您创建的最后一个实例仍将在内存中。

。非常感谢你提供的信息。我一定会删除它的所有实例。你混淆了变量和对象。这是变量:var newSwimPower:mcSwimPower,这是对象:new mcSwimPower()。变量只是一个内存引用,而对象需要构建CPU和内存。