类型 函数 对象 DisplayObject 库 display.* 返回值 DisplayObject 修订 版本 2024.3703 关键词 removeSelf, 删除对象, 删除对象, 移除 另请参阅 display.remove() group:remove()
移除显示对象并释放其内存,假设没有其他对它的引用。这等效于在同一个显示对象上调用 group:remove(),但在语法上更简单。object:removeSelf()
语法也支持其他情况,例如在物理引擎中移除物理关节。
当您移除一个显示对象时,附加到它的事件侦听器(例如,点击和触摸侦听器)也会从内存中释放。您不需要显式移除隔离到该对象的事件侦听器。有关对象移除的更多详细信息,请参阅 显示对象 指南。
object:removeSelf()
方法将显示对象转换为普通的 Lua 表,如果没有其他对该对象的引用,则该表将被垃圾回收。在移除对象后,您还应将该对象设置为 nil
。
object:removeSelf()
最佳实践是,在调用 object:removeSelf()
**之后**,将关联的变量设置为 nil
。
当一个对象被移除时,该nil
,并且所有与显示对象相关的属性都被移除。因此,如果 Lua 中仍然存在对对象的引用,它们将只是对普通 Lua 表的引用。
local obj = display.newImage( "image.png" ) obj:translate( 100, 100 ) -- Remove the object obj:removeSelf() obj = nil