如何完全删除海龟 [英] How to fully delete a turtle
本文介绍了如何完全删除海龟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我制作了一个使用turtle
图形的tkinter
小游戏。这是一个来自Cracker Barrel的三角钉子游戏的模拟,它能够告诉玩家在游戏中的任何一点下一个最好的移动,以及其他功能。Pegs只是turtle.RawPen
的子类的实例,我保留了大量的RawPen
的普通实例来绘制表示移动的箭头。
我注意到,当我重新启动游戏(它调用turtle.bye()
)来杀死海龟窗口时,内存消耗实际上增加了,因为海龟似乎没有被删除。即使我事先调用window.clear()
,它清除了window.__dict__
中的_turtles
,仍然有对海龟的引用。我确保在重启期间删除我对它们的所有引用,所以这不是问题所在。有没有办法真正删除一只乌龟,这样它就可以被垃圾收集了?
推荐答案
删除我对画布中对象的所有引用(当然,包括TurtleWindow
),然后使用canvas.destroy()
销毁画布。也许还有其他解决方案,但这是我能想到的最好的解决方案。我感谢大家的帮助,因为它将很好地服务于我的未来,至少对于不是使用turtle
API创建的对象。
这篇关于如何完全删除海龟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文