添加启动逻辑
你可以用以下逻辑去在应用中定义你的启动逻辑
Kanzi在启动应用程序后立即调用Application::onStartup() 函数一次,再它加载初始化UI内容之前,可以添加需要修改已初始化的Kanzi对象的应用程序启动逻辑。
Kanzi初始化UI内容后立即调用Application::onProjectLoaded() 函数一次。通常可以在此处插入依赖已加载内容的初始化代码,例如你可以附加初始消息处理程序或监听器,用数据填充UI。
下面的代码示例是在Kanzi加载节点树后添加了一个消息相应到Button上:
void onProjectLoaded() override
{
// Get reference to the Screen node.
ScreenSharedPtr screen = getScreen();
kzAssert(screen);
// Look up reference to a button by alias.
Button2DSharedPtr button = screen->lookupNode<Button2D>("#Button");
kzAssert(button);
// Attach a handler to the button.
button->addMessageHandler(Button2D::ClickedMessage, [this](auto& arguments) { this->buttonHandler(arguments); });
}
下图是启动和关闭逻辑的回调过程。

观察应用程序状态
可以观察应用程序状态,以确定应用程序是否正在运行、最小化或挂起。
kanzi应用程序总在以下状态内:
运行状态。这是Kanzi应用程序的正常操作模式。这是应用程序的初始状态。
暂停状态。当应用程序不聚焦或最小化时,平台可以对应用程序行为施加规则。要标记这种状态,平台后端可以将应用程序设置为“暂停”状态。
在这种状态下,Kanzi停止正常的输入处理和渲染,并等待返回到运行状态。此外,在这种状态下,应用程序通常会停止繁重的工作。
正在退出状态