似乎我在我的应用程序的其他位置请求扩展执行会话,而不是在应用程序挂起事件中,扩展会话处于活动状态,直到我处理它为止。所以我想知道我是否在app暂停事件中使用扩展会话,此会话何时到期,是否在我们的控制之下? (排除系统资源是限制的,无论如何它会在这种情况下撤销执行会话。但是如果系统资源足够,会以静默方式撤销会话吗?)
我在下面看到代码here
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
using (var session = new ExtendedExecutionSession())
{
session.Reason = ExtendedExecutionReason.SavingData;
session.Description = "Upload Data";
session.Revoked += session_Revoked;
var result = await session.RequestExtensionAsync();
if (result == ExtendedExecutionResult.Denied)
{
UploadBasicData();
}
// Upload Data
var completionTime = await UploadDataAsync(session);
}
deferral.Complete();
}
我想知道我是否使用上面的语句,并且不要在这里调用deferral.Complete(),如果我使用reason作为非特定的,当ExtendedExecutionSession到期时,是否我的扩展执行会话永远不会过期,直到资源真的很低并且将撤销我的会话执行?