作者yungyuc (酷狗喵千代)
看板Python
标题Re: [问题] 关於 pyGTK 的 widget.destroy()
时间Tue Feb 13 16:49:16 2007
※ 引述《brt ()》之铭言:
: 最近在试用 pygtk 练习在 win32 平台建立 GUI
: 利用一个主视窗连续呼叫出多个行事历widget(於另外一个独立的window)後
: 再利用destroy方法逐一关闭行事历 window 观察行程的记忆体
: 这部份的程式码如下 ---
: class win_ww2:
: def on_widget_close(self, widget_win2):
: print "close!!!"
: widget_win2.parent.destroy()
: def __init__(self):
: widget_win2 = gtk.glade.XML(".//test//test.glade", "win_2")
: widget_win2.signal_connect("on_calendar1_day_selected_double_click",
: self.on_widget_close)
: ----
: 发现似乎不会完全回复到刚开始没有开启 行事历 widget的状态(记忆体占用量)
: 想请问诸位先进 若要正确关闭是上述写法吗? (这是参考范例改来的)
: 还是有别的正确方法? 抑或是记忆体累增的现象是正常的?
: 感谢您的指正 谢谢!
会不会是收垃圾的过年偷懒?
在 callback 结束前 gc.collect() 一下看看,
之前在 Linux 上跑 pyGTK 也是有记忆体一直吃的问题,
必须手动 gc.collect() 才有改善。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.27.8
1F:→ brt:我就是在想是 cache 机制 还是 垃圾回收的问题....thx.. 02/13 17:28