在一个中等规模的Qt项目中,我们注意到当屏幕上没有太多活动时,内存消耗非常高。我试图找到某种类型的内存泄漏问题,这导致我发现CREATE_QML_OBJECT宏,其中创建了qml实例对象。在从加载的qml文件中删除所有自定义UI元素并仅保留四个基本元素后,我得到了
Rectangle {
Button {}
CheckBox {}
Slider {}
TextField {}
}
这个东西大约占用 ~1-1.5 MB。
我看了一下 QtQuick 的演示项目,那里面也是同样的情况:
Gallery 演示。只是一些控件,在启动时就占用了 100MB 的内存。
Same game 演示。一个简单的游戏,在玩了 5 分钟之后就消耗了 256MB 的内存。
我真的很惊讶一个简单的 QtQuick QML 应用程序会消耗如此庞大的内存量。有人知道是什么原因导致了这些分配,是否有一种方法来管理它?
非常感谢任何帮助。
相关链接,但没有找到答案