Windows phone WinPhone应用程序事件在应用程序进程终止时作出反应

Windows phone WinPhone应用程序事件在应用程序进程终止时作出反应,windows-phone,termination,application-lifecycle,tombstoning,Windows Phone,Termination,Application Lifecycle,Tombstoning,当我们停用WP应用程序时,它可能会被删除,并在稍后被操作系统终止。当进程终止时,我需要将一些未保存的应用程序数据保存到永久性存储器中,但在此之前不需要。显然,停用事件不能用于此目的,因为当应用程序移动到后台时,它会立即引发;关闭事件也不是我们需要的事件,因为当应用程序进程被操作系统终止时,不会引发关闭事件。是否有特殊的Windows Phone应用程序事件,例如应用程序被终止?没有此类事件。您应该在停用时保存您的状态,以便如果应用程序从内存中删除(删除),您可以在重新激活时重新设置自己。如果您的

当我们停用WP应用程序时,它可能会被删除,并在稍后被操作系统终止。当进程终止时,我需要将一些未保存的应用程序数据保存到永久性存储器中,但在此之前不需要。显然,停用事件不能用于此目的,因为当应用程序移动到后台时,它会立即引发;关闭事件也不是我们需要的事件,因为当应用程序进程被操作系统终止时,不会引发关闭事件。是否有特殊的Windows Phone应用程序事件,例如应用程序被终止?

没有此类事件。您应该在停用时保存您的状态,以便如果应用程序从内存中删除(删除),您可以在重新激活时重新设置自己。如果您的问题是确定是否需要在激活时恢复状态,请查看ActivateDevenTargets.IsApplicationInstancePreserved标志()。此标志告知您的应用程序是否已删除。如果不是,您可以扔掉旧状态,或者在下次停用时覆盖它。

问题是,操作系统仅在应用程序面临严重资源压力时才会删除应用程序。当时,唤醒应用程序并运行应用程序代码是不现实的,因为它可能会冒着当前前景中的任何风险。所有现代移动操作系统(包括Android和IOS)都存在这一限制。这只是在电池/资源友好型环境中运行的成本

话虽如此,在用户完成事务之前,您的备份存储似乎无法消除用户“保存”的数据和刚刚缓存的数据之间的歧义。将这一想法融入其中将是有益的。想想现在互联网上一些更智能的网站的工作方式吧。你可以在你进入数据的时候浏览,当你回来的时候,网站会向你提供部分填充的表格。该网站知道你还没有“完成”,但它尊重你提供了“完成”所需的一些信息这一事实


我想说的是,通过理解和适应用户可能使用应用程序的方式,问题很容易解决。将你的应用程序想象成一个网站(至少在这种情况下)有助于从不同的角度看待问题。对不起,我的回答太长了。我希望它有帮助:)

建议您的应用程序以增量方式保存其重要数据。另一种危险的方法是使用
PhoneApplicationService
状态
:我现在就这样做,并且确实使用IsApplicationInstancePreserved。我不希望保存用户在停用事件中输入的当前未保存数据,因为在这种情况下,当我们的应用程序停用时,我们将失去所需的“确定/取消”功能。