SuspendingEventHandler 委托

定义

表示将处理 Suspending 事件的方法。

public delegate void SuspendingEventHandler(Platform::Object ^ sender, SuspendingEventArgs ^ e);
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(591565925, 58218, 16610, 177, 57, 164, 112, 70, 2, 166, 225)]
class SuspendingEventHandler : MulticastDelegate
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(591565925, 58218, 16610, 177, 57, 164, 112, 70, 2, 166, 225)]
public delegate void SuspendingEventHandler(object sender, SuspendingEventArgs e);
Public Delegate Sub SuspendingEventHandler(sender As Object, e As SuspendingEventArgs)

参数

sender
Object

Platform::Object

IInspectable

附加处理程序的对象。

e
SuspendingEventArgs

事件数据。

属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

此代码示例演示此事件的典型使用模式。 此代码由许多 XAML 示例(例如 输入示例)用作 app.xaml 文件代码隐藏的一部分。 如果浏览 XAML 示例,可以找到此代码中引用的 SuspensionManager 类 API 的源代码。

async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}
Private Async Sub OnSuspending(sender As Object, args As SuspendingEventArgs) 
    Dim deferral As SuspendingDeferral = args.SuspendingOperation.GetDeferral 
    Await SuspensionManager.SaveAsync 
    deferral.Complete() 
End Sub 

注解

每当用户切换到另一个应用或桌面时,系统就会暂停你的应用,并在用户切换回应用时恢复你的应用。 但是,系统还可以在应用暂停时终止应用,以释放资源。 因此,应处理 Suspending 事件以执行以下操作:

  • 保留用户会话状态。
  • 释放资源上的任何排他锁。
  • 尽可能减少内存使用量。 例如,序列化任何在重新激活后易于以对象形式重新构造的数据。
  • 保存应用状态。 暂停事件是应用在终止之前收到的唯一指示, (如果它) 发生。 因此,应存储足够的会话状态 (,例如正在阅读的当前文章或当前电影播放位置) ,以在激活期间重新创建完全相同的体验。 内容创建应用的指南是尽早保存用户的工作,并且经常在 暂停期间提交最后一次保存。 在挂起之前保存数据很有用,因为 Suspending 事件处理程序只有 5 秒的时间来完成其操作。

如果应用已终止,可以在 OnLaunched 方法重写中还原应用状态。 如果应用在终止之前恢复,系统会自动还原应用状态。 仅当需要刷新应用暂停时可能已更改的任何显示内容(例如新闻源或用户的位置)时,才应处理 Resuming 事件。

适用于