Ваша страница захоронена, поэтому кажется, что ваше приложение перезапустилось.В основном это означает, что ваше приложение все еще хранится в стеке, готово к вызову, но состояние страниц и другая информация теряются.Чтобы это исправить, вам нужно обработать сериализацию любых данных, которые вы хотите сохранить.
Для временных данных, таких как состояние состояния страницы (например, текстовые поля, флажки и т. Д.), Вы можете использовать PhoneApplicationPage.государство .Я считаю, что предел составляет 2mb
.Если вам нужно сохранить больше, вы должны хранить его в изолированном хранилище (маловероятно, если вам не нужно сохранить изображение).Вы можете прочитать о процессе здесь .Чтобы понять процесс Tombstoning
, вам следует прочитать эту страницу MSDN .Чтобы сэкономить время, вы можете использовать Tombstone Helper , который обрабатывает все детали хранилища более низкого уровня, но это хорошая идея, чтобы все равно понять процесс Tombstoning, чтобы вы знали, что происходит.
Причина, по которой ваше приложение не всегда становится надгробной, заключается в том, что EmailComposeTask
не сразу вызывает надгробие.Из этого сообщения в блоге MSDN :
Ниже приведен список нативных событий, которые при вызове не вызывают автоматическую надгробную плиту в вызывающем приложении:
PhotoChooserTask
CameraCaptureTask
MediaPlayerLauncher
EmailAddressChooserTask
PhoneNumberChooserTask
Существует три сценария, в которых приложение в фоновом режиме будет немедленно захоронено:
User forward navigates away from an application [for example, user
нажимает клавишу запуска] Приложение вызывает средства запуска или средства выбора, не перечисленные выше. Системе требуется больше ресурсов для выполнения переднего плана.деятельность
Как вы можете видеть, это не значит, что EmailComposeTask
никогда не вызовет надгробие, поэтому вы все равно должны его обработать, но это объясняет, почему состояние вашей страницы иногда сохраняется автоматически.