My Python QApplicationには、クリックするとpyqtgraph Plotを起動するボタン(メインウィンドウ上)があります。下のコードは、プロットがクラス内でどのように生成されるかを示しています。Pyqtgraph Plotが閉じられているときにメモリが解放されない
self.win = pg.GraphicsWindow()
self.win.setWindowTitle(self.title)
self.p = self.win.addPlot()
self.curve = self.p.plot(self.Data1)
私が気づいたことの1つは、アプリケーションでプロットウィンドウを閉じるとメモリが解放されないということです。例えば、ボタンが押される前に、アプリケーションは約20Mbを取ります。ボタンをクリックしてプロットを開始すると、これは25Mbに増加します。しかし、プロットを閉じると(右上隅のxをクリックして)、アプリケーションのメモリフットプリントは25Mbのままです。プロットが閉じられているときにこの5Mbのメモリを解放する方法はありますか(プロットがリアルタイムで更新されている間、私にはself.curve.clear()
のラインがあるので、リークはありません)。
close()
またはcloseEvent()
の方法を変更する場合があります。または、何らかの形でオブジェクトへの参照を削除します(ただし、どのように行われるかわかりません)。
読んでいただきありがとうございます!
マーカスさんありがとう!私は、5Mbはそれほど多くはないが、例えば、私は繰り返しプロットを開いたり閉じたりします。これは、おそらく私がオブジェクトの割り当てを解除していないことを私に示唆していたので、メモリ保持を避けるためにプロットを閉じる適切な方法について尋ねると考えました。 – user6714459