我有一个Xamarin Forms应用程序,在OnStart期间将MainPage设置为NavigationPage。
NavigationPage是静态的(保留在内存中以便重复使用)。
当我在Android中按返回按钮并返回应用程序时,会再次执行OnStart方法,并且应用程序显示一个空白屏幕。
如果我在构造函数中执行相同的操作,应用程序将按预期运行:没有空白屏幕,并显示最后访问的页面。
请参见此处的重现:Xamarin.Forms构造函数导航。
在构造函数和OnStart方法中设置MainPage的区别是什么?
NavigationPage是静态的(保留在内存中以便重复使用)。
当我在Android中按返回按钮并返回应用程序时,会再次执行OnStart方法,并且应用程序显示一个空白屏幕。
请查看此处的演示:Xamarin.Forms OnStart Navigation
public partial class App : Application
{
private static readonly NavigationPage NavigationPage = new NavigationPage(new MainPage());
public App ()
{
InitializeComponent();
}
protected override void OnStart()
{
MainPage = NavigationPage;
}
}
如果我在构造函数中执行相同的操作,应用程序将按预期运行:没有空白屏幕,并显示最后访问的页面。
请参见此处的重现:Xamarin.Forms构造函数导航。
public partial class App : Application
{
private static readonly NavigationPage NavigationPage = new NavigationPage(new MainPage());
public App ()
{
InitializeComponent();
MainPage = NavigationPage;
}
}
在构造函数和OnStart方法中设置MainPage的区别是什么?