OnStart和App Constructor有什么区别

时间:2015-03-11 13:54:21

标签: c# xamarin portable-class-library xamarin.forms

Xamarin Forms具有以下App类:

public class App : Application
{
        public App()
        {
            // The root page of your application
            MainPage = new ContentPage
            {
                Content = new StackLayout
                {
                    VerticalOptions = LayoutOptions.Center,
                    Children = {
                        new Label {
                            XAlign = TextAlignment.Center,
                            Text = "Welcome to Xamarin Forms!"
                        }
                    }
                }
            };
        }

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

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

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

问题:构造函数中运行的代码与OnStart方法中编写的代码之间有什么区别。 Aren在您的应用程序启动时都会运行吗?

有关详细信息,请参阅http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/app-lifecycle/

1 个答案:

答案 0 :(得分:3)

它们完全不同,但文档不够稀疏。

构造函数与平台无关,并且用于创建对象(如果这听起来像是教你吮吸蛋的话,那就道歉了#39;)。

然而,OnStart()方法被映射到平台特定通知及其相关含义。这是每个不同操作系统启动通知系统的跨平台实现 - 这当然会在平台之间有所不同,但这种抽象允许您以相同的方式处理它。