2

我一直在研究基于 Qt/qml 的 UI。

我使用了屏幕的“动态加载需求”之类的东西。(使用加载器元素)

优点:启动时无需加载所有屏幕,提高系统启动时间。

缺点:当屏幕必须稍后加载时,这需要时间,并且在那一刻用户响应能力下降。

我的问题是,当我说加载 UI 屏幕时,实际上“加载”到了内存中的是什么?

我的意思是,如果它的 C++ 代码,我会像创建一些动态对象一样理解它。我无法在 UI 屏幕方面对其进行可视化?是否就像我在制作该 UI 时使用的图像被加载到内存中以进行不同的操作一样?

添加到前面的问题,当我“卸载”屏幕时会发生什么?

加载和卸载的 CPU 要求是否相同?

4

2 回答 2

2

当声明性引擎加载 qml 文件时,有一个非常好的和详细的解释:

http://www.kdab.com/qml-engine-internals-part-1-qml-file-loading/

于 2012-10-09T01:05:38.487 回答
1

当使用 loader 加载 QML 对象时,程序实际上会在 QML 文件中的每个元素的内存中创建一个对象(调用该元素类的构造函数)。您可以将文件中的任何 QML 元素视为相应的 c++ 类。当您卸载这些视图时,将调用每个元素的析构函数。所以最后一个问题的答案是加载和卸载的 CPU 要求会有所不同。

于 2012-10-08T09:58:23.507 回答