pyclutter内存泄露排查记录

在一款使用python+clutter的播放器中,使用一个自定义使用c语言的clutter的控件,来显示一部影片的简介,简介中最多时,大概会显示一百多张图片.

现在有一个问题就是,这个控件有内存泄露的问题.

首先是,这个控件本身会内存泄露,开始时大概创建和销毁一次此控件,虚拟内存会增加5m左右,后来,经过排查,主要是一些字符串资源没有释放的问题.

经过修改,现在降到了200-300k左右.基本可以接受.

在本机的测试中,使用二种方式来测试,一种是在c语言工程中来测试这个控件,另一种是在一个python工程来测试这个控件,两种测试結果表示,每次创建和销毁大概只会消耗200-300k,两者結果比较一致.

但是,在目标机上实际运行却发现,一旦加载此控件,然后显示多张图片,内存资源上升到最高值,但是,销毁此控件时,内存消耗却再也不会下降,而且再次创建此控件,内存也只会在这个最高值附近,也不会再继续增加.

初步怀疑是由于python的内存池机制问题.

你可能感兴趣的:(pyclutter内存泄露排查记录)