【问题标题】:Application life cycle on a physical device without Lifecycle Events没有生命周期事件的物理设备上的应用程序生命周期
【发布时间】:2016-06-08 11:30:52
【问题描述】:

是否有一种解决方案可以让我在物理设备上运行和测试应用程序生命周期?不使用 Visual Studio 2015 内置的“生命周期事件”?在按下设备上的物理按钮(箭头返回、窗口图标等)后,我希望能够调用适当的生命周期方法作为暂停和恢复,如果可能的话,会收到一条关于调用此方法的消息,例如:

private async void Application_Suspending(object sender, SuspendingEventArgs e)
{
    Debug.WriteLine("METOD: Suspending");

}

我只是想知道当前在应用测试期间在物理设备上发现了哪种方法。

比如我做的Android操作系统:

@Override
protected void onPause() {
    super.onPause();
    System.out.println("METOD: onPause" );          
}

当我在物理设备上运行应用程序时,我看到消息“METHODS: OnPause”。

【问题讨论】:

  • 写入文件而不是控制台

标签: uwp visual-studio-debugging windows-10-universal windows-10-mobile


【解决方案1】:

根据UWP Application Lifecycle,一旦用户切换到另一个应用程序,该应用程序将暂停。 但是,暂停事件不会在您切换后立即触发,因此在调用您的方法之前可能会有几秒钟的延迟。

当用户将应用移至后台时,Windows 会等待几秒钟以查看用户是否会立即切换回该应用,以便在切换时快速切换。如果用户未在此时间窗口内切换回来,Windows 将暂停应用程序。

此外,当您附加了 Visual Studio 调试器时,不会触发该事件。

关于使用 Visual Studio 进行调试的说明:*Visual Studio 阻止 Windows 暂停附加到调试器的应用程序。这 是允许用户在应用程序的同时查看 Visual Studio 调试 UI 在跑。调试应用程序时,可以向其发送暂停 使用 Visual Studio 的事件。确保 *Debug Location 工具栏是 显示,然后单击暂停图标。

【讨论】:

  • 我知道应用程序生命周期是如何工作的。但我需要在不使用 Visual Studio“生命周期事件”的情况下在真实设备上对其进行测试。我想知道发生了什么,例如:当我按下按钮 ON/OFF... 后退箭头等。我无法在模拟器上测试这些选项:/
  • 明白了。你绝对可以这样做,但没有附加 Visual Studio 调试器。将您的 Debug.WriteLine 语句更改为写入文件或其他内容的日志记录机制。您可以执行测试,然后阅读日志。
  • 我就是这么想的 :( 特别是我买了 Lumia,因为我认为只有这样我才能测试物理按钮,但仍然无法工作。感谢 MICROSOFT....
  • 从 Visual Studio 工具栏触发挂起与通过按下电源按钮获得挂起有何不同?另一个解决方案可能是:在模拟器中运行?
猜你喜欢
  • 2022-06-30
  • 2016-05-12
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多