Большая часть работы для FAS выполняется для вас автоматически.Главное, что нужно иметь в виду, это то, что Tombstoning означает для вашего приложения.При возобновлении через FAS вы не должны ничего раскрашивать, поэтому обычно нет необходимости восстанавливать состояние модели представления или что-то в этом роде.Есть несколько мест, для которых вам нужно будет написать код - вот краткий контрольный список.
PhoneApplicationPage.OnNavigatingFrom - Поэкспериментируйте с элементами управления, которые вы используете, чтобы убедиться, что FAS восстанавливаетданные, которые были там для вас.Например, элемент управления TextBox правильно запоминает все, что вы в него вставили, но MediaElement не запоминает видео или положение его воспроизводящей головки.
PhoneApplicationPage.OnNavigatedTo - Все, что вы сохранили в OnNavigatingFrom, необходимо повторно применить здесь, в OnNavigatedTo.Например, перезагрузите источник видео в MediaElement, измените положение видео и запустите его снова.
Application.Activation - Аргументы события для этого события теперь содержат свойство IsApplicationInstancePreserved.Это свойство возвращает TRUE, когда приложение возвращается через FAS, или FALSE, когда приложение возвращается из Tombstoning.Итак, у вас есть код примерно такой:
private void Application_Activated(object sender, ActivatedEventArgs e)
{
if (!e.IsApplicationInstancePreserved)
{
RestoreStateFromTombstone();
}
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
SaveStateForTombstone();
}
Это самое важное.Я еще не проводил никакого реального стресс-тестирования инфраструктуры FAS, чтобы увидеть, где она сломается, но это хорошо послужило мне для экспериментов, которые я провел до сих пор.
Для получения дополнительной информации, есть короткое видео с конференции MIX11 под названием Get Ready для быстрого переключения приложений , представленное Адиной Труфинеску, которое дает более подробную информацию о FAS, что определенно помогло мне начать работу.
/ Крис