Как часто вы экономите, зависит от вашего приложения. Тем не менее, ключевые моменты времени:
- Запуск
- Активированный
- Деактивирован
- Закрытие
Launching
вызывается, когда приложение запускается с главного экрана, а Closing
вызывается, когда пользователь нажимает клавишу возврата для выхода из приложения. Естественно, вы, скорее всего, захотите сохранить постоянные данные в событии Closing
.
Activated
вызывается, когда пользователь закрыл ваше приложение с помощью кнопки Windows
и вернулся в него, нажав кнопку возврата. Это не вызывается, если пользователь запускает приложение в первый раз.
Аналогично, событие Deactivated
вызывается, когда пользователь нажимает кнопку Windows
. В зависимости от вашего приложения на этом этапе вы захотите сохранить временные данные, чтобы при восстановлении вы могли создать иллюзию того, что ваше приложение вообще не было закрыто. (В противном случае, например, все текстовые поля станут пустыми, даже если пользователь ввел данные до нажатия кнопки Windows
).
Это основные события, поэтому вы можете создать свое приложение на основе этого. Следует помнить одну вещь: если ваши файлы сохранения будут большими и для их сохранения после вызова события closing
потребуется больше, чем 10 seconds
, ваше приложение будет немедленно закрыто, что может привести к повреждению файла сохранения. Следовательно, для больших сохраненных файлов вы должны планировать заранее, сохраняя приращения (например, после того, как пользователь внес изменения, которые должны остаться постоянными).
Нет one size fits all
решения для этого, поскольку время сохранения сильно зависит от типа разрабатываемого приложения. Прочитайте страницу модели исполнения *1032*, так как она более детальна и содержит примеры кода.