当状态保存时间过长时如何检测实际终止状态?

时间:2016-11-14 13:02:58

标签: uwp prism

我有一个UWP应用程序可以在暂停期间保存当前页面状态。对于特定页面,它仅保存一些模型。州档案是约。 50 - 60 kb。但是,对于某些用户来说,保存当前状态需要很长时间,系统会终止我的应用程序。

我可以在事件查看器下看到日志。所以我很确定这是因为节省时间太长了。我尝试使用ExtendedExecution,但即使它也没有帮助。

有没有办法检测为什么需要太长时间或某种方法可以提供有关保存状态的更详细信息?

它只出现在一些用户身上,而不是每个用户身上。我非常确定我保存的模型对于正在运行的计算机来说并不是很大的负担。顺便提一下,我正在使用带有Prism的MVVM模式。

1 个答案:

答案 0 :(得分:0)

嗯......在对有问题的设备进行详细调查后,我发现NetworkInformation类通常会冻结系统。此冻结也会影响我的应用程序,并且最终与IO相关的所有内容都会冻结。

原来,它是某种网卡驱动程序问题。每当用户将3G调制解调器插入USB端口时,主动使用NetworkInformation(包括Windows设置本身)类的任何内容都将被冻结。就我而言,我认为这是一个州服务问题(最终仍然存在)。实际上并非如此。

1)用户插入设备并开始使用该应用程序。 2)冻结发生后,他走开并锁定设备。 3)当用户回来并解锁屏幕时,网卡驱动程序被激活并通知使用NetworkInformation的所有内容。 4)在解锁期间,应用程序尝试恢复状态但由于一般的冻结状态而无法实际执行此操作。 5)Windows确定我的应用程序无法恢复状态并终止它。

为了获得更好的信息,该设备是在Windows 10上运行的HP Elite X2,问题在于3G-4G USB调制解调器。在Wifi上一切都很好看。这似乎是设备本身的网络驱动程序问题,但我总是讨厌NetworkInformation ...