Windows phone 7 EmailComposetTask/SMSCOComposetTask将丢失我的应用程序状态
我正在开发我的第一个Windows Phone 7应用程序。我还没有访问实际设备的权限,所以我依赖SDK附带的模拟器 在我的应用程序中,我在需要的地方使用Windows phone 7 EmailComposetTask/SMSCOComposetTask将丢失我的应用程序状态,windows-phone-7,state,Windows Phone 7,State,我正在开发我的第一个Windows Phone 7应用程序。我还没有访问实际设备的权限,所以我依赖SDK附带的模拟器 在我的应用程序中,我在需要的地方使用EmailComposeTask和SmsComposeTask。在emulator中调试我的应用程序时,我单击运行其中一个任务的按钮,它就会工作。但当我按下“后退”按钮退出任务并返回到我的应用程序时,应用程序状态消失了——就好像我重新启动它一样 但是,奇怪的是,有时这种情况不会发生。我不止一次地从其中一项任务中返回,以找到我的应用程序状态,以及
EmailComposeTask
和SmsComposeTask
。在emulator中调试我的应用程序时,我单击运行其中一个任务的按钮,它就会工作。但当我按下“后退”按钮退出任务并返回到我的应用程序时,应用程序状态消失了——就好像我重新启动它一样
但是,奇怪的是,有时这种情况不会发生。我不止一次地从其中一项任务中返回,以找到我的应用程序状态,以及我离开时的状态
因此,我的问题是:
谢谢。您的页面将被删除,这就是您的应用程序似乎已重新启动的原因。这基本上意味着您的应用程序仍然存储在堆栈上,随时可以调用,但页面状态和其他数据信息丢失。要解决此问题,您需要处理要保留的任何数据的序列化 对于瞬态数据,如页面状态(例如文本框、复选框等),可以使用。我认为限制是
2mb
。如果需要存储更多图像,则应将其存储在独立存储中(不太可能,除非需要保存图像)。您可以阅读有关该过程的信息。要了解墓碑整理的过程,您应该阅读以下内容。为了节省时间,您可以使用它来为您处理所有较低级别的存储细节,但无论如何,了解墓碑记录的过程是一个好主意,这样您就知道发生了什么
你的应用程序不总是被删除的原因是EmailComposeTask
不会立即导致删除。由此:
以下是本地用户列表
当被调用时,不会
在中触发自动墓碑
呼叫应用程序:
PhotoChooserTask
CameraCaptureTask
MediaPlayerLauncher
EmailAddressChooserTask
PhoneNumberChooserTask
有三种情况下
后台应用程序将
立即被埋葬:
User forward navigates away from an application [for example, user
按开始键]
应用程序调用上面未列出的启动器或选择器
系统需要更多资源来执行前台活动
正如您所看到的,这并不是说
EmailComposeTask
永远不会导致墓碑,所以您仍然应该处理它,但它解释了为什么有时会自动保持页面状态。您的页面被墓碑化,这就是为什么您的应用程序似乎已经重新启动。这基本上意味着您的应用程序仍然存储在堆栈上,随时可以调用,但页面状态和其他数据信息丢失。要解决此问题,您需要处理要保留的任何数据的序列化
对于瞬态数据,如页面状态(例如文本框、复选框等),可以使用。我认为限制是2mb
。如果需要存储更多图像,则应将其存储在独立存储中(不太可能,除非需要保存图像)。您可以阅读有关该过程的信息。要了解墓碑整理的过程,您应该阅读以下内容。为了节省时间,您可以使用它来为您处理所有较低级别的存储细节,但无论如何,了解墓碑记录的过程是一个好主意,这样您就知道发生了什么
你的应用程序不总是被删除的原因是EmailComposeTask
不会立即导致删除。由此:
以下是本地用户列表
当被调用时,不会
在中触发自动墓碑
呼叫应用程序:
PhotoChooserTask
CameraCaptureTask
MediaPlayerLauncher
EmailAddressChooserTask
PhoneNumberChooserTask
有三种情况下
后台应用程序将
立即被埋葬:
User forward navigates away from an application [for example, user
按开始键]
应用程序调用上面未列出的启动器或选择器
系统需要更多资源来执行前台活动
正如您所看到的,这并不是说EmailComposeTask
永远不会导致墓碑,所以您仍然应该处理它,但这解释了为什么有时会自动保持页面状态