Xamarin.Forms 生命周期

17 Mar 2025 | 阅读 2 分钟

Xamarin.Form 是一个平台,通过使用 XAML 作为前端和 C# 作为后端来开发跨平台移动应用程序。 在 Xamarin.Form 应用程序中,我们可以共享所有代码。 Xamarin.Forms 还提供了 Android 和 iOS 本机 API 的 100% API 覆盖率。 这样,我们就可以开发本机 Android、iOS 和 Windows 应用。

Xamarin.Forms 应用程序的生命周期

当我们创建 Xamarin.Forms 应用程序时,我们会看到四个项目

  • 可移植项目: 这是我们编写 95% 的应用程序代码的项目,此代码在所有三个平台中共享。
  • Android: 这是我们设置 Android 应用程序图标和启动画面的项目,所有其他代码都来自可移植项目。
  • iOS: 在此项目中,我们设置 iOS 应用程序架构和图标。
  • 通用 Windows: 通用 Windows 平台是构建 Windows 移动和 Windows 桌面应用程序的应用程序平台。

我们可以在此屏幕截图中看到所有四个项目

Xamarin.Forms Life Cycle

Xamarin.Forms 应用程序生命周期包含三个虚拟方法,这些方法被重写以处理生命周期方法。 这些方法存在于可移植项目中的 App.Xaml.Cs 类中。

我们在这里找到所有这些文件,如屏幕截图所示

Xamarin.Forms Life Cycle

这三个方法是

  • OnStart()
  • OnSleep()
  • OnResume()
Xamarin.Forms Life Cycle

当应用程序处于启动、睡眠或恢复状态时,会调用这三个方法。 没有用于终止应用程序的方法。 应用程序从 OnSleep() 方法终止,没有任何其他通知。

我们可以在 Xamarin.Forms(可移植项目)的 App.Xaml.cs 中看到所有这些文件。

OnStart() 方法

当应用程序第一次启动时,调用 OnStart() 方法。 当应用程序启动时,它会读取 OnStart() 方法中编写的所有代码。

OnStart() 方法的语法可以写成如下

OnSleep() 方法

当应用程序处于睡眠模式时,调用 OnSleep() 方法,即,当应用程序中没有工作时。 当用户隐藏应用程序时,调用 Sleep 方法。 在这种形式中,我们的应用程序在睡眠状态下在后台打开。

OnSleep() 方法的语法可以写成如下

OnResume() 方法

当我们从睡眠模式返回应用程序时,调用 OnResume() 方法。

OnResume() 方法的语法可以写成如下

让我们在所有这些方法上设置断点,我们将看到当应用程序处于这些状态之一时调用所有这些方法。


下一个主题Xamarin.Forms 的 XAML