Re: [問題] 關於 pyGTK 的 widget.destroy()

看板Python作者 (酷狗喵千代)時間18年前 (2007/02/13 16:49), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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

02/13 17:28, , 1F
我就是在想是 cache 機制 還是 垃圾回收的問題....thx..
02/13 17:28, 1F
文章代碼(AID): #15qNkDMD (Python)
討論串 (同標題文章)
文章代碼(AID): #15qNkDMD (Python)