在调用MainPage之前,是否执行了OnStart()中的所有内容(即使我使用重写异步)也是如此

时间:2018-09-30 08:33:56

标签: xamarin xamarin.forms

我的App.Xaml.cs中有此代码

    protected override async void OnStart()
    {
        App.DB.CreateTables();
        App.DB.GetSettings();
        App.DB.PopulateTables();
    }

是否所有这三种方法都将在以下构造函数中的方法之前100%执行并完成:

    public MainPage()
    {

1 个答案:

答案 0 :(得分:1)

由于OnStart()是异步的,并且您没有在等待,因此,不能100%确定在执行前先导航到MainPage。

如果这些方法与用户界面无关,则可以:

protected override async void OnStart()
    {
          Task.Run(async()=>{ await YourMethods(); }).Wait();

    }