DisplayObject做了什么" dispose" Starling的方法?

时间:2014-05-11 13:37:32

标签: dispose

我注意到Starling中的每个displayObjects都有dispose方法,但我不知道在调用dispose()方法时已经做了什么。

我想我可以通过例子来更清楚地描述它:

我定义了一个这样的类:

public class SubSprite extends Sprite
{
    private var img:Image;
    public function SubSprite()
    {
        img = new Image( assetsManager.getTexture("textureName") );
        addChild(img);
        addEventListener(TouchEvent.TOUCH, onTouch);
    }
}

然后我在主类中编写了如下行:

var mySprite:SubSprite = new SubSprite(); addChild(mySprite); mySprite.dispose(); // what will be done by using this method?


dispose方法会列出这些东西吗?或者哪一个会完成?

  1. img.texture.dispose;

  2. img.dispose;

  3. img = null;

  4. mySprite = null;

  5. removeChild之(IMG);

  6. removeChild之(mySprite上);

  7. mySprite.removeEventListener(TouchEvent.TOUCH,onTouch);

1 个答案:

答案 0 :(得分:0)

它从对象中删除所有事件侦听器,处理其过滤器的资源,例如对象的纹理,顶点和索引缓冲区。这些缓冲区用于通过GPU(Stage3D)渲染对象。