QML 要素を使用する単純な Qt アプリケーションがあります。アプリケーションを起動すると、約 40Mb かかります。現在、単一ページのオブジェクトを動的に作成しています。
例。
var component = Qt.createComponent("AboutUs.qml");
var object = component.createObject(mainPage);
object.destroy() を使用してページを閉じると、それらを破棄します
アプリケーションの動作は奇妙です。作成された単純なオブジェクトは常に約1Mbかかりますが、オブジェクトを削除すると、それらのメモリは解放されません。
現在、私のアプリケーションにはこの種のページが 20 個あります。したがって、各ページを 1 回開くと、アプリケーションが占有する合計メモリは約 60Mb になり、メモリ リークのようになります。
なぜそれが起こっているのかを見つけることができません.javascriptengineがメモリを占有して解放していないのか、メモリを解放していないのはJavaスクリプトのローカル変数なのか、オブジェクトを作成するためにキャッシュしているQT4なのか.