QProgressBar заставляет приложение потреблять много памяти

В течение нескольких дней, может быть, недель я искал утечку памяти в моем приложении. Я не нашел, где это может быть, пока не нашел это:

https://bugs.kde.org/show_bug.cgi?id=292217

После проверки всего я обнаружил, что QProgressBar занимает слишком много памяти каждый раз, когда Qt отображает статус индикатора выполнения. В моем случае я также менял размер индикатора выполнения, поэтому Qt запоминает все больше и больше читателей.

Это может занимать около 20 МБ в день, и, поскольку мое приложение является приложением 24/7, с этим невозможно жить.

Мое решение состояло в том, чтобы индикатор выполнения всегда был одинакового размера, но мой клиент хочет QProgressBar меняет размер.

Кто-нибудь знает, как сохранить это использование памяти в некоторых пределах?

Приветствия.

система:

Win 7 Aero
Qt 5.0.2
Visual Studio 2010
Повышение 1,52
Нет MFC, нет ATL

0

Решение

Некоторые возможные обходные пути:

1) Обновление до новой версии Qt, в которой эта ошибка исправлена ​​(если она существует)

2) Используйте другой QStyle, который не содержит эту ошибку (как предложено CmdrMoozy)

3) Скомпилируйте Qt из исходного кода и исправьте исходный код Qt, чтобы исправить эту ошибку; распространяйте свою исправленную версию Qt

4) Напишите свой собственный класс индикатора выполнения (то есть подкласс QWidget и переопределите paintEvent ()) и используйте его вместо QProgressBar.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]