ボタンが押されたときに FileDialog を開く単純な QML アプリケーションがあります。
FileDialog を開くと、現在のアプリケーション メモリが大幅に増加することに気付きました (ダイアログのみで 12 Mb)。そのため、FileDialog にローダーを追加しました。したがって、ダイアログを開いたときにのみメモリが増加します。しかし、私の問題は、Loader ソースを "" に設定しても、このメモリを解放できないことです。
私のテストファイル:
import QtQuick 2.0
import QtQuick.Controls 1.4
Item {
width: 400
height: 400
Loader {
id: loaderFileDialog
}
Connections {
target: loaderFileDialog.item
onAccepted: {
loaderFileDialog.source = "";
console.log("onAccepted");
}
onRejected: {
loaderFileDialog.source = "";
console.log("onCancel");
}
}
Button {
anchors.centerIn: parent
width: 100
height: 50
text: "Open file";
onClicked: {
loaderFileDialog.source = "qrc:/MyFileDialog.qml";
loaderFileDialog.item.visible = true;
}
}
}
そして、FileDialog を含む私の QML ファイル: MyFileDialog.qml
import QtQuick 2.1
import QtQuick.Dialogs 1.0
FileDialog {
id: fileDialog
}
私は何を間違っていますか?アイデアや提案はありますか?
事前にどうもありがとう、ディエゴ