Xamarin.Forms 创建移动应用程序的基础知识 10 - 应用程序的生命周期

简介

演示应用程序的生命周期事件与各事件之间的数据处理。

  1. 生命周期事件。
  2. 生命周期数据处理。

生命周期事件

  1. 打开已有项目 AwesomeApp。
  2. 编辑 App.xaml.cs:
protected override void OnStart()
{
	Console.WriteLine("OnStart");
}
protected override void OnSleep()
{
	Console.WriteLine("OnSleep");
}
protected override void OnResume()
{
	Console.WriteLine("OnResume");
}
  1. 调试界面:

    应用程序起动时触发
    Onstart

应用程序切换到后台时触发
OnSleep

当前活动应用程序切换回本程序时触发OnResume

生命周期数据处理

  1. 编辑 App.xaml.cs:
const string displayText = "displayText";
public string DisplayText { get; set; }
……
protected override void OnStart()
{
	Console.WriteLine("OnStart");
	if (Properties.ContainsKey(displayText))
	{
		DisplayText = (string)Properties[displayText];
	}
}
protected override void OnSleep()
{
	Console.WriteLine("OnSleep");
	Properties[displayText] = DisplayText;
}
  1. 编辑 MainPage.xaml:
<Entry x:Name="entEvent"
	   Placeholder="这里显示生命周期内容"
	   Completed="entEvent_Completed" />
  1. 编辑 MainPage.xaml.cs:
protected override void OnAppearing()
{
	base.OnAppearing();
	entEvent.Text = (Application.Current as App).DisplayText;
}
private void entEvent_Completed(object sender, EventArgs e)
{
	(Application.Current as App).DisplayText = (sender as Entry).Text;
}
  1. 调试界面:

    无输入内容、APP 永久属性字典中不包含 displayText 或 displayText 无值时显示

应用程序切换时 APP 永久属性字典包含 displayText 并 displayText 有值时显示