關(guān)于tkinter很占內(nèi)存并且會(huì)造成內(nèi)存泄漏這個(gè)問(wèn)題(上)
當(dāng)我最近在寫我的CodeNoteBook (https://github.com/sadjok/CodeNoteBook)項(xiàng)目

的時(shí)候發(fā)現(xiàn),內(nèi)存占用有億點(diǎn)點(diǎn)大:

我就開始懷疑,是不是圖片太多了,是不是沒必要的文件太多了,于是我就把該刪的都刪了,盡量節(jié)省空間,于是:


然后:

到了現(xiàn)大?。?/p>
一共節(jié)約了6倍,然后再去調(diào)試:

有什么區(qū)別嗎,我&%@#&#……%
然后我轉(zhuǎn)念一想,是不是因?yàn)槲壹恿藄un-vallery-ttk theme美化包的原因,我把那兩行注釋掉了試了試:


挺無(wú)語(yǔ)的,我就接受了吧,后來(lái)我打開了一個(gè)界面,發(fā)現(xiàn)


tkinter,我來(lái)問(wèn)你,你特別愛吃內(nèi)存是不是,我都把界面關(guān)掉了,你內(nèi)存是否應(yīng)該釋放了吧,啊,我謝謝你!
當(dāng)初我以為有可能只是把窗口?withdraw()?了,等下次調(diào)用時(shí)在deiconify()節(jié)約內(nèi)存,后來(lái)……

當(dāng)我沒講,他有增加了內(nèi)存,那么,丟失的內(nèi)存去哪了呢?
好像是說(shuō)他其余的窗口都寄存在主窗口上了,就是一直運(yùn)行的那個(gè)窗口,關(guān)掉的話整個(gè)程序也會(huì)關(guān)掉的那個(gè)
即使我們用
一個(gè)窗口是有很多的屬性的,這句 del childrenwindow 沒有用,只能破壞 _tclCommands的屬性。
屋漏偏逢連夜雨,我前幾天剛查完資料這個(gè)網(wǎng)站就崩了,詳情請(qǐng)看關(guān)于tkinter很占內(nèi)存并且會(huì)造成內(nèi)存泄漏這個(gè)問(wèn)題(中)(馬上更)