Kivy - 应用生命周期



一个 Kivy 应用从执行到停止会经历不同的阶段。下图显示了这些不同的阶段:

Kivy App Life Cycle

现在让我们详细讨论每个阶段:

初始化 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()

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

要运行应用程序,请从操作系统终端执行以下命令:

Python MyApp.py

你可以在 Windows 或 Linux 上以这种方式运行你的 Kivy 应用,但要在 Android 上运行它,你可能需要采取一些额外的步骤。对于 Android,你应该构建一个 APK(Android Package Kit)。

你应该使用**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 状态。

停止

这是用户通过调用应用代码中适当的方法来关闭应用时。在应用运行终止之前,将执行所有清理操作。

广告