📜  Xamarin.Forms生命周期

📅  最后修改于: 2021-01-11 16:06:58             🧑  作者: Mango

Xamarin.Forms生命周期

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 Mobile和Windows桌面应用程序的应用程序平台。

我们可以在此屏幕快照中看到所有四个项目:

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

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

三种方法是:

  • OnStart()
  • OnSleep()
  • OnResume()

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

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

OnStart()方法

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

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

protected override void OnStart()
{
            // Handle when your app starts
 }

OnSleep()方法

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

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

protected override void OnSleep()
 {
            // Handle when your AApp sleeps
 }

OnResume()方法

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

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

protected override void OnResume()
 {
            // Handle when your AApp resumes
 }

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

protected override void OnStart()
 {
            // Handle when your app starts
            Debug.WriteLine("OnStart");
 }

 protected override void OnSleep()
 {
            // Handle when your app sleeps
            Debug.WriteLine("OnSleep");
  }

  protected override void OnResume()
  {
            // Handle when your app resumes
            Debug.WriteLine("OnResume");
   }