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生命周期

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

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

Xamarin.Forms生命周期

三种方法是:

  • OnStart()
  • OnSleep()
  • OnResume()
Xamarin.Forms生命周期

当应用程序处于启动, 睡眠或恢复状态时, 将调用这三种方法。没有终止应用程序的方法。应用程序从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");
   }

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?