我一直致力于基于Qt / qml的UI。
我在屏幕上使用了“动态加载需求”之类的东西。 (使用loader元素)
优点:所有屏幕无需在启动时加载,从而缩短了系统启动时间。
缺点:如果以后需要加载屏幕,则需要时间,并且此时用户响应能力会降低。
我的问题是,当我说加载UI屏幕时,实际上“加载”到内存中的是什么?
我的意思是如果它的C ++代码,我会像创建一些动态对象一样理解它。我不能用UI屏幕来形象化它?是否就像我在制作UI时使用的图像被加载到内存中以进行不同的操作?
除了早先的问题,当我“卸载”一个屏幕时会发生什么?
加载和卸载的CPU要求是否相同?
答案 0 :(得分:2)
在声明性引擎加载qml文件时,有一个非常好的详细解释:
http://www.kdab.com/qml-engine-internals-part-1-qml-file-loading/
答案 1 :(得分:1)
当用加载器加载QML对象时,程序实际上在你的QML文件中的每个元素的内存中创建一个对象(调用该元素类的构造函数)。您可以将文件中的任何QML元素视为相应的c ++类。 卸载这些视图时,将调用每个元素的析构函数。因此,最后一个问题的答案是加载和卸载的CPU要求会有所不同。