Xamarin.Forms 2.1.0.6521 - UWP 未命中 OnStart / OnSleep 方法
Xamarin.Forms 2.1.0.6521 - UWP Not Hitting OnStart / OnSleep methods
我使用 iOS/Android/UWP 安装了 Xamarin Forms 应用程序。我使用的是最新版本(截至 3 月 1 日为 2.1.0.6521)
当我 运行 UWP 应用程序并设置了断点时,它会命中主 App
构造函数,但是 none 下面列出的其他方法:
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
Forms 是否需要做一些特殊的事情才能命中这些方法?
UWP 应用的生命周期不同于 Android 应用的生命周期。请参考官方文档App lifecycle.
默认情况下,它是这样的:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
...
}
...
private void OnSuspending(object sender, SuspendingEventArgs e)
{
...
}
您可以按照教程 Adding a Universal Windows Platform (UWP) App 开始。这些方法在 UWP 项目的 App.xaml.cs 文件中调用
补充:Xamarin.Forms Samples有很多,大家可以下载。
在库Xamarin.FormV2.0.0.6482 版本中发现同样的问题。
更新V2.3.0.46 pre3版本Nuget包后,问题解决
我使用 iOS/Android/UWP 安装了 Xamarin Forms 应用程序。我使用的是最新版本(截至 3 月 1 日为 2.1.0.6521)
当我 运行 UWP 应用程序并设置了断点时,它会命中主 App
构造函数,但是 none 下面列出的其他方法:
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
Forms 是否需要做一些特殊的事情才能命中这些方法?
UWP 应用的生命周期不同于 Android 应用的生命周期。请参考官方文档App lifecycle.
默认情况下,它是这样的:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
...
}
...
private void OnSuspending(object sender, SuspendingEventArgs e)
{
...
}
您可以按照教程 Adding a Universal Windows Platform (UWP) App 开始。这些方法在 UWP 项目的 App.xaml.cs 文件中调用
补充:Xamarin.Forms Samples有很多,大家可以下载。
在库Xamarin.FormV2.0.0.6482 版本中发现同样的问题。 更新V2.3.0.46 pre3版本Nuget包后,问题解决