Dispose DisplayObject对它的;处置;八哥的方法?

Dispose DisplayObject对它的;处置;八哥的方法?,dispose,Dispose,我注意到Starling中的每个displayObjects都有dispose方法,但我不知道调用dispose()方法时做了什么 我想我可以用例子更清楚地描述它: 我定义了这样一个类: 然后我在主课堂上写了以下几行: var mySprite:subprite=new subprite(); addChild(mySprite); mySprite.dispose();//使用这种方法可以做什么? dispose方法会执行下列操作吗?或者哪一个会被完成 img.texture.disp

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

我想我可以用例子更清楚地描述它:

我定义了这样一个类:
然后我在主课堂上写了以下几行:

var mySprite:subprite=new subprite();
addChild(mySprite);
mySprite.dispose();//使用这种方法可以做什么?


dispose方法会执行下列操作吗?或者哪一个会被完成

  • img.texture.dispose

  • img.dispose

  • img=null

  • mySprite=null

  • removeChild(img)

  • removeChild(mySprite)

  • mySprite.removeEventListener(TouchEvent.TOUCH,onTouch)


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

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