Память приложения значительно увеличивается с помощью FileDialog: при использовании Loader эта память не свободна

У меня есть простое приложение QML, где я открываю FileDialog при нажатии кнопки.

Я понял, что когда я открываю FileDialog, текущая память приложения сильно увеличивается (12 МБ только с диалогом), поэтому я добавил Loader в FileDialog. Поэтому память увеличивается только когда я открываю диалог. Но моя проблема в том, что я не могу освободить эту память, даже установив источник загрузчика на "".

Мой тестовый файл:

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;
        }
    }
}

И мой файл QML с FileDialog: MyFileDialog.qml

import QtQuick 2.1
import QtQuick.Dialogs 1.0

FileDialog {
    id: fileDialog
}

Что я делаю неправильно? Любая идея или предложение?

Большое спасибо заранее, Диего

0 ответов

Другие вопросы по тегам