看板 Python 關於我們 聯絡資訊
※ 引述《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
brt:我就是在想是 cache 機制 還是 垃圾回收的問題....thx.. 02/13 17:28