a*****s 发帖数: 2663 | 5 python 新手求教. 最近才看python,写了个GUI程序处理数据. 主要就是每次打开一个
几百兆大小的binary文件,包含几百帧图象,读到一个三维数组, 用matplotlib画出指定
一帧的位图,鼠标点击位图,记录一些position,选择一些参数,然后做一些计算,存盘.
一开始感觉work得很好.但是突然发现严重的问题.就是处理完第一个,然后处理第2,3,4
个文件的时候,很快慢了下来.很明显,从文件读进的数据还在memory里.
具体说,文件经由read_data()函数返回成numpy的ndarray存到一个wxFrame类的成员,然
后display到一个canvas.如果我把matplotlib画图的相关语句删去,似乎可以不断选择
open菜单打开文件处理一个又一个数据文件,内存消耗稳定在1~1.5个文件大小.一旦
uncomment相关画图命令,每打开一个新文件,内存消耗就增加大约一个文件大小.打开到
第6,7个文件,就会有memory error提示.
class MyFrame(wxFrame):
....
def OnOpen(self, event): |
|