Python, просачивающийся память при использовании PyQt и matplotlib

Было бы хорошо, если CheckStyle мог бы проверить, что serialVersionUID на классе, который реализует сериализуемый, имеет хорошее значение, т.е. что это соответствует тому, что произвел бы последовательный идентификационный генератор версии. Если у Вас есть проект с большим количеством сериализуемых DTOs, например, не забывать удалить существующий serialVersionUID и повторно создать его является болью, и в настоящее время единственным путем (что я знаю о) проверить, что это должно повторно создать для каждого класса и выдержать сравнение со старым. Это очень очень болезненно.

6
задан Eric the Red 8 August 2009 в 15:49
поделиться

2 ответа

Похоже, в некоторых серверных модулях происходит утечка памяти. Попробуйте явно указать серверную часть, например

import matplotlib
matplotlib.use('Agg') # before import pylab
import pylab
7
ответ дан 8 December 2019 в 18:39
поделиться

Интерфейс pyplot предназначен для удобного интерактивного использования, но для встраивания в приложение лучше объектно-ориентированного API. Например, pyplot отслеживает все созданные вами фигуры. Ваш plot.close (figure) должен избавиться от них, но, возможно, он не выполняется - попробуйте поместить его в , наконец, или повторно использовать тот же объект figure.

См. этот пример встраивания matplotlib в приложение PyQt4 с использованием объектно-ориентированного API. Это больше работы, но, поскольку все ясно, вы не должны '

6
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: