如何完全删除海龟 [英] How to fully delete a turtle

查看:0
本文介绍了如何完全删除海龟的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一个使用turtle图形的tkinter小游戏。这是一个来自Cracker Barrel的三角钉子游戏的模拟,它能够告诉玩家在游戏中的任何一点下一个最好的移动,以及其他功能。Pegs只是turtle.RawPen的子类的实例,我保留了大量的RawPen的普通实例来绘制表示移动的箭头。

我注意到,当我重新启动游戏(它调用turtle.bye())来杀死海龟窗口时,内存消耗实际上增加了,因为海龟似乎没有被删除。即使我事先调用window.clear(),它清除了window.__dict__中的_turtles,仍然有对海龟的引用。我确保在重启期间删除我对它们的所有引用,所以这不是问题所在。有没有办法真正删除一只乌龟,这样它就可以被垃圾收集了?

推荐答案

删除我对画布中对象的所有引用(当然,包括TurtleWindow),然后使用canvas.destroy()销毁画布。也许还有其他解决方案,但这是我能想到的最好的解决方案。我感谢大家的帮助,因为它将很好地服务于我的未来,至少对于不是使用turtleAPI创建的对象。

这篇关于如何完全删除海龟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆