我想从内存中删除简单的对象,但是当我调用removeChildren内存使用情况玫瑰:/而我不是为什么?我该如何删除对象?如何删除操作脚本3
package {
import flash.display.DisplayObject;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.system.System;
public class Main extends Sprite {
public function Main()
{
for (var i:int = 0 ; i < 1000;i++) {
var addBouncerButton:SimpleButton = new SimpleButton();
addBouncerButton.x = 100;
addBouncerButton.y = 10;
addBouncerButton.name = "Btn"+i;
addChild(addBouncerButton);
}
stage.addEventListener(Event.ENTER_FRAME, update);
stage.addEventListener(KeyboardEvent.KEY_DOWN, remove);
}
private function remove(e:KeyboardEvent):void
{
trace("Children : " + this.numChildren);
trace(System.totalMemory * 1024 + " kb");
if(this.numChildren > 0)
var o:DisplayObject = removeChildAt(this.numChildren - 1);
o = null;
}
private function update(event:Event):void
{
}
}
}
当不再有任何对该对象的引用时,对象被垃圾收集。然而,仅仅因为没有引用,这并不意味着它会立即被垃圾回收;它会在某个时候发生。 – poke 2010-09-09 21:45:14