我有一个包含数百个要更新的标签的接口 - 来自套接字TCP的字符串的颜色和值。我发现,经过一段时间20-30天,该程序正在吃内存GB。所以我把这段简单的代码用来模拟同样的事情,而且这个简单的代码仍然在活动监视器(mac)中每秒使用内存0.1Mb。对于mac,linux或windows也是如此。我试图从几天后跟踪问题,我无法理解为什么。我在root上放了10毫秒来加速。最初在20-30天内我的程序从1000ms的数据更新标签的速度非常慢。它做同样的事情,使用self.after更新简单的标签....作为python的新手请理解问题的质量。
还是有其他方法可以连续更新数百个标签而不会增加内存消耗吗?
from Tkinter import *
import datetime
root = Tk()
lab = Label(root)
lab.pack()
def clock():
time = datetime.datetime.now().strftime("Time: %H:%M:%S") # just for example, could be a variable that is changing rapidly
lab.config(text=time)
#lab['text'] = time
root.after(10, clock) # run and show label updates
# run first time
clock()
root.mainloop()