EmailComposeTask / SmsComposeTask失去我的应用状态

|| 我正在开发我的第一个Windows Phone 7应用程序。我还没有访问实际设备的权限,因此我依赖于SDK附带的仿真器。 在我的应用中,需要时使用ѭ0use和
SmsComposeTask
。在模拟器中调试我的应用程序时,我单击了一个按钮,该按钮可以运行以下任务之一,并且可以运行。但是,当我然后按“后退”按钮退出任务并返回到我的应用程序时,应用程序状态丢失了-好像我要重新启动它一样。 但是,奇怪的是,有时这种情况不会发生。我已经不止一次地从一项任务中退回,以找到我的应用程序状态,如我所知。 因此,我的问题是: 这只是模拟器的错误吗? 如果不一致,为什么不一致,如何在调用电子邮件或SMS任务之前“保存”我的应用程序状态? 谢谢。     
已邀请:
        您的页面被删除,这就是为什么您的应用程序已重启的原因。这基本上意味着您的应用程序仍存储在堆栈中,随时可以调用,但是页面状态和其他数据信息会丢失。要解决此问题,您需要处理要保留的任何数据的序列化。 对于瞬态数据,例如页面状态(例如文本框,复选框等),可以使用PhoneApplicationPage.State。我相信上限是
2mb
。如果需要存储更多内容,则应将其存储在独立存储中(除非您需要保存映像,否则不太可能)。您可以在此处阅读有关该过程的信息。要了解“ 3”的过程,您应该阅读此MSDN页面。为了节省时间,您可以使用Tombstone Helper来为您处理所有较低级别的存储详细信息,但是无论如何要了解Tombstoning的过程是个好主意,这样您就可以知道发生了什么。 您的应用并非总是被逻辑删除的原因是因为
EmailComposeTask
不会立即导致逻辑删除。从此MSDN博客文章中:   以下是本机列表   经验,在被调用时不会   触发自动墓碑   调用应用程序:
PhotoChooserTask
CameraCaptureTask
MediaPlayerLauncher
EmailAddressChooserTask
PhoneNumberChooserTask
     在三种情况下,   后台应用   立即立碑:
User forward navigates away from an application [for example, user
     按开始键]       应用程序调用上面未列出的启动器或选择器       系统需要更多资源才能进行前台活动 如您所见,并不是说ѭ0永远不会导致逻辑删除,因此您仍然应该处理它,但是它说明了为什么有时会自动保留页面状态的原因。     

要回复问题请先登录注册