我们注意到,在我们注意到的中型Qt项目中,当屏幕上没有多少内存消耗时,内存消耗会非常高。我试图找到某种memleak导致我进入CREATE_QML_OBJECT宏,其中创建了qml实例对象。从加载的qml文件中删除所有自定义ui元素后,只剩下四个基本的元素
Rectangle {
Button {}
CheckBox {}
Slider {}
TextField {}
}
这件事消耗约~1-1.5 MB。
我已经看过QtQuick演示项目,并且在那里也是如此:
Gallery demo。只是一堆控件,启动时100 MB。
Same game demo。简单的游戏,在玩了256分钟的5分钟后就消失了。
我很惊讶简单的QtQuick QML应用程序会占用大量内存。有人知道导致这种分配的原因吗?有办法管理吗?
非常感谢任何帮助。
相关链接,还没有找到答案
答案 0 :(得分:2)
它全部由javascript垃圾收集器管理。 几乎没有尝试的是:
1)在加载项目后立即致电gc()
,即Component.onCompleted:
2)在装载机上装载物品。这样,他们不应该在不使用时留在记忆中。
这些并不能保证减少内存占用,但可以帮助一点。