qq771472501 laya这几个与清除有关的总也闹不清,sprite的destory 与 graphics下的clear 以及 父元素removechild 的方法都能达到清理sprite的效果,有的时候都不知道用哪个会不占内存,哪个不用再重新建实例,api的太简略,能不能详细回答一下。
Aar0n destroy :销毁此对象。destroy对象默认会把自己从父节点移除,并且清理自身引用关系,等待js自动垃圾回收机制回收。destroy后不能再使用。 destroy时会移除自身的事情监听,自身的timer监听,移除子对象及从父节点移除自己。destroyChild (可选)是否同时销毁子节点,若值为true,则销毁子节点,否则不销毁子节点。clear清空绘制命令 Graphics 类用于创建绘图显示对象。Graphics可以同时绘制多个位图或者矢量图,还可以结合save,restore,transform,scale,rotate,translate,alpha等指令对绘图效果进行变化。 Graphics以命令流方式存储,可以通过cmds属性访问所有命令流。Graphics是比Sprite更轻量级的对象,合理使用能提高应用性能(比如把大量的节点绘图改为一个节点的Graphics命令集合,能减少大量节点创建消耗)。removechild只是单纯的删除子节点希望答案能对你有帮助!
cheche062 destory是元素彻底清除,包含clear, removechild, removechild只是暂时移除离开舞台而已,可以通过缓存的引用再加回来。graphics是可以包含多个绘图纹理的,clear掉就是清除它们。重新绘图!