【发布时间】:2015-08-22 22:43:39
【问题描述】:
我很难弄清楚为什么声明 FigureCanvasTkAgg 会导致内存泄漏,我的课程 __init__ 方法中有以下几行:
# pndwinBottom is a paned window of the main screen
self.__drawplotFrame = Frame(pndwinBottom, width=WIDTH, height=HEIGHT) # the frame on which we will add our canvas for drawing etc.
self.__fig = plt.figure(figsize=(16,11))
self.__drawplotCanvas = FigureCanvasTkAgg(self.__fig, master=self.__drawplotFrame)
问题是,在运行我的应用程序并退出时,python32.exe 仍保留在我的进程窗口中,并且会阻塞我的计算机。但是,注释掉这三行将允许我的应用程序退出并且该过程将正确终止。这些行对我的应用程序有什么影响,以防止在应用程序完成后进程结束?谢谢
编辑
内存泄漏似乎仅由 self.__fig = plt.figure(figsize=(16, 11)) 行引起。在退出之前我是否需要对 plt 进行某种解构?
【问题讨论】:
标签: python python-2.7 matplotlib memory-leaks tkinter