UI屏幕“加载”后会发生什么?

时间:2012-10-08 07:49:22

标签: qt user-interface qml

我一直致力于基于Qt / qml的UI。

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

优点:所有屏幕无需在启动时加载,从而缩短了系统启动时间。

缺点:如果以后需要加载屏幕,则需要时间,并且此时用户响应能力会降低。

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

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

除了早先的问题,当我“卸载”一个屏幕时会发生什么?

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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