0

几天,也许几周,我一直在寻找我的应用程序中的内存泄漏。在我找到这个之前,我没有找到它可以在哪里:

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

检查完所有内容后,我发现QProgressBar每次 Qt 呈现进度条的状态时都会占用太多内存。在我的例子中,我也在改变进度条的大小,所以这使得 Qt 能记住越来越多的读者。

每天大约需要 20 MB,并且由于我的应用程序是 24/7 应用程序,因此无法忍受。

我的解决方案是保持进度条的大小始终相同,但我的客户希望QProgressBar更改大小。

有人知道如何将这种内存使用量保持在一定范围内吗?

干杯。

系统:

Win 7 Aero Qt 5.0.2 Visual Studio 2010 Boost 1.52 没有 MFC,没有 ATL

4

1 回答 1

1

一些可能的解决方法:

1) 升级到已修复此错误的新版本 Qt(如果存在)

2)使用不包含此错误的其他 QStyle(如 CmdrMoozy 建议的那样)

3)从源代码编译Qt并修补Qt源以修复此错误;分发你的 Qt 补丁版本

4) 编写您自己的进度条类(即子类QWidget 并覆盖paintEvent())并使用它代替QProgressBar。

于 2013-12-19T03:03:56.807 回答