Вот пример цикла в qml:
function allocateObject(parent) {
var component = Qt.createComponent("TestComponent.qml");
for(var i = 0 ; i < 30000 ; i++) {
var object = component.createObject(parent);
object.destroy()
}
}
А сам TestComponent.qml
import QtQuick 2.7
Item {
property string name: "item"
}
Вызов allocateObject съедает 40Mb памяти, которая по истечении времени так и не освободится. Повторный вызов съедает еще 13Mb. Тут для примера взят совсем примитивный компонент. В реальности компонент намного сложнее. И конечно не 30000 их создается.
И как же тогда быть с памятью?