📅  最后修改于: 2021-01-11 16:06:58             🧑  作者: Mango
Xamarin.Form是一个平台,用于通过将XAML用于前端并将C#用于应用程序后端来开发跨平台移动应用程序。在Xamarin.Form应用程序中,我们可以共享所有代码。 Xamarin.Forms还提供了Android和iOS本机API的100%API覆盖率。因此,我们可以开发本机Android,iOS和Windows应用程序。
Xamarin.Forms应用程序的生命周期:
创建Xamarin.Forms应用程序时,我们将看到四个项目:
我们可以在此屏幕快照中看到所有四个项目:
Xamarin.Forms应用程序生命周期包含三个虚拟方法,这些方法被覆盖以处理生命周期方法。这些方法存在于App中。 Xaml 。可移植项目中的CS类。
我们在这里找到所有这些文件,如屏幕截图所示:
三种方法是:
当应用程序处于启动,睡眠或恢复状态时,将调用这三种方法。没有终止应用程序的方法。应用程序从OnSleep()方法终止,没有任何其他通知。
我们可以在Xamarin.Forms(便携式项目)的App.Xaml.cs中看到所有这些文件。
当应用程序首次启动时,OnStart()方法将调用。当应用程序启动时,它将读取用OnStart()方法编写的所有代码。
OnStart()方法的语法可以编写如下:
protected override void OnStart()
{
// Handle when your app starts
}
当应用程序处于睡眠模式时,即应用程序中没有任何工作时,OnSleep()方法将调用。当用户隐藏应用程序时,将调用Sleep方法。以这种形式,我们的应用程序在睡眠状态下在后台打开。
OnSleep()方法的语法可以编写如下:
protected override void OnSleep()
{
// Handle when your AApp sleeps
}
从睡眠模式返回到应用程序时,将调用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");
}