<p>我是编程新手,我不明白垃圾收集是如何工作的。在以下示例中:</p>
<pre><code>import Tkinter as tk
a = 0
class Object1:
def __init__(self):
global a
a = tk.Frame()
a.pack()
b = tk.Button(a, text="click me", command=self.callback)
b.pack()
def callback(self):
print "clicked!"
program = Object2()
class Object2:
def __init__(self):
global a
a.destroy()
a2 = tk.Frame()
a2.pack()
b = tk.Label(a2, text='This is the second object.')
b.pack()
program = Object1()
tk.mainloop()
</code></pre>
<p>Object1的实例“program”是否保留在末尾?我必须以某种方式显式删除它吗?如果我重复这个结构很多次,每个Objectx都有一个按钮,它会破坏前一个帧并添加一个新的内容,那么随着程序的进行,它会消耗越来越多的内存吗?谢谢你的帮助。在</p>