pyclutter內存泄露排查記錄

在一款使用python+clutter的播放器中,使用一個自定義使用c語言的clutter的控件,來顯示一部影片的簡介,簡介中最多時,大概會顯示一百多張圖片.

現在有一個問題就是,這個控件有內存泄露的問題.

首先是,這個控件本身會內存泄露,開始時大概創建和銷燬一次此控件,虛擬內存會增加5m左右,後來,經過排查,主要是一些字符串資源沒有釋放的問題.

經過修改,現在降到了200-300k左右.基本可以接受.

在本機的測試中,使用二種方式來測試,一種是在c語言工程中來測試這個控件,另一種是在一個python工程來測試這個控件,兩種測試結果表示,每次創建和銷燬大概只會消耗200-300k,兩者結果比較一致.

但是,在目標機上實際運行卻發現,一旦加載此控件,然後顯示多張圖片,內存資源上升到最高值,但是,銷燬此控件時,內存消耗卻再也不會下降,而且再次創建此控件,內存也只會在這個最高值附近,也不會再繼續增加.

初步懷疑是由於python的內存池機制問題.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章