Windows store apps Windows UWP,异步调用期间挂起时应用程序崩溃
在我的Windows应用商店应用程序中,我有一个等待函数,有时需要几分钟才能完成(将咨询其他线程的性能)。同时,如果用户不关注应用程序,它就会崩溃。当我检查事件日志时,出现以下错误: 应用程序已终止,因为挂起时间太长 我在应用程序中使用棱镜。我已经处理了Windows store apps Windows UWP,异步调用期间挂起时应用程序崩溃,windows-store-apps,windows-10-universal,Windows Store Apps,Windows 10 Universal,在我的Windows应用商店应用程序中,我有一个等待函数,有时需要几分钟才能完成(将咨询其他线程的性能)。同时,如果用户不关注应用程序,它就会崩溃。当我检查事件日志时,出现以下错误: 应用程序已终止,因为挂起时间太长 我在应用程序中使用棱镜。我已经处理了Application.Current.Suspending,代码如下(通常被调用): 我还重写了onNavigationFrom函数,用于保存导航参数(它不做任何其他事情) public override void OnNavigatingFr
Application.Current.Suspending
,代码如下(通常被调用):
我还重写了onNavigationFrom函数,用于保存导航参数(它不做任何其他事情)
public override void OnNavigatingFrom(NavigatingFromEventArgs e,Dictionary viewModelState,bool挂起)
{
if(viewModelState.ContainsKey(“plotId”))
{
viewModelState.Remove(“plotId”);
}
viewModelState.Add(“plotId”,Plot.Id);
base.OnNavigatingFrom(e,viewModelState,挂起);
}
我无法确定如何解决此问题。如果暂停应用程序,应在5秒钟内完成。
阅读 在挂起之前保存数据很有用,因为挂起事件 处理程序只有5秒钟完成其操作 因此,由于应用程序工作,最好保存大量数据。
你也可以阅读
在UWP中,您还可以通过延长执行时间来延长暂停时间如果您暂停应用程序,则应在5秒内完成。
阅读 在挂起之前保存数据很有用,因为挂起事件 处理程序只有5秒钟完成其操作 因此,由于应用程序工作,最好保存大量数据。
你也可以阅读 在UWP中,您还可以通过延长执行时间来延长暂停时间
protected void OnApplicationSuspending(object sender, SuspendingEventArgs e)
{
var defferal = e.SuspendingOperation.GetDeferral();
if (sessionStateService.SessionState.ContainsKey("plotId"))
{
sessionStateService.SessionState.Remove("plotId");
}
sessionStateService.SessionState.Add("plotId", Plot.Id);
if (sessionStateService.SessionState.ContainsKey("Page"))
{
sessionStateService.SessionState.Remove("Page");
}
sessionStateService.SessionState.Add("Page", "OperationRecording");
defferal.Complete();
}
public override void OnNavigatingFrom(NavigatingFromEventArgs e, Dictionary<string, object> viewModelState, bool suspending)
{
if (viewModelState.ContainsKey("plotId"))
{
viewModelState.Remove("plotId");
}
viewModelState.Add("plotId", Plot.Id);
base.OnNavigatingFrom(e, viewModelState, suspending);
}