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 状态。
停止
当用户通过调用应用程序代码中的适当方法关闭应用程序时。所有清理操作都在应用程序运行终止之前进行。