Kivy - 应用生命周期

创建于 2024-12-03 / 26
字体: [默认] [大] [更大]

从执行到停止,Kivy 应用经历了多个阶段。下图显示了不同的阶段 −

Kivy 应用生命周期

现在让我们详细讨论一下每个阶段 −

初始化 UI

Kivy 框架中的 App 类代表 Kivy 应用。创建 App 对象是应用生命周期的第一步。

from kivy.app import App

声明 App 类的子类,并重写 build() 方法。

from kivy.app import App

class MyApp(App):
   def build(self):
      #UI Design

它通过调用 build() 方法或借助".kv"文件来构建应用程序的 UI。如果需要,应用程序的配置将从相应的".ini"文件加载。

事件循环

一旦加载用户界面,App 对象就会进入无限事件循环。

if __name__ == '__main__':
	MyApp().run()

界面中组装的各种小部件现在吸收用户交互,例如按钮单击或文本输入,并根据相应的事件处理程序做出响应。为了响应用户交互,可以修改任何小部件或应用程序的状态。

要运行应用程序,请从 OS 终端 − 执行以下命令

Python MyApp.py

虽然您可以在 Windows 或 Linux 上以这种方式运行 Kivy 应用程序,但您可能需要采取一些额外步骤才能在 Android 上运行它。对于 Android,您应该构建一个 APK(Android 软件包套件)。

您应该使用 Buildozer,这是一种自动化整个构建过程的工具。它会安装 python-for-android 的所有先决条件,包括 android SDK 和 NDK,然后构建一个可以自动推送到设备的 APK。 Buildozer 目前仅适用于 Linux 和 macOS(对于 Windows,请在机器上激活 WSL,然后在 WSL 中使用 Buildozer)

暂停/恢复

当应用程序运行时,可以暂停。例如,如果应用程序窗口最小化,或者设备本身进入睡眠模式,暂停模式有助于节省资源。

Kivy 有一个 on_pause() 事件处理程序。当请求暂停模式时,它会被调用。如果您的应用程序可以进入暂停模式,您应该返回 True,否则返回 False,您的应用程序将停止。您无法控制应用程序何时进入此模式。它由操作系统决定,主要用于移动设备(Android/iOS)和调整大小。

应用程序可以从暂停点恢复运行。

当您的应用程序从暂停模式恢复时,Kivy 的 on_resume() 事件处理程序会被调用。

恢复时,OpenGL 上下文可能已损坏/释放。您可以在此处重建部分 OpenGL 状态。

停止

当用户通过调用应用程序代码中的适当方法关闭应用程序时。所有清理操作都在应用程序运行终止之前进行。



0 人点赞过