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 狀態。

停止

這是使用者透過呼叫應用程式碼中適當的方法來關閉應用時。在應用執行終止之前,將執行所有清理操作。

廣告
© . All rights reserved.