Нужно ли вызывать метод IsolatedStorageSettings.Save в приложении Windows Phone?

Из раздела замечаний на странице " Метод IsolatedStorageSettings.Save":

Данные, записанные в объект IsolatedStorageSettings, сохраняются, когда приложение, использующее класс, закрывается. Это может произойти, когда пользователь закрывает веб-браузер, обновляет страницу или просматривает страницу. Если вы хотите, чтобы ваше приложение немедленно записывало в изолированное хранилище, вы можете вызвать метод Save в коде приложения.

Так что я никогда не могу назвать Save метод и каждая настройка будет в безопасности. Мне просто интересно, в каких случаях я должен использовать Save метод?

2 ответа

Решение

Вы должны позвонить IsolatedStorageSettings.Save сам. Как упоминалось в разделе "Советы и предупреждения" в нижней части справочной страницы класса, вы должны сохранить его самостоятельно, чтобы убедиться, что он записан в файл.

Класс IsolatedStorageSettings не сохраняется автоматически на диск при записи значений. Сохранения выполняются в финализаторе, который обычно, но не всегда, запускается, когда приложение закрывается. Чтобы убедиться, что сохранение действительно выполняется, нам нужно вызывать метод Save после каждой записи или набора записей.

Вот документация по методу IsolatedStorageSettings.Save от 14 февраля 2014 года:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.io.isolatedstorage.isolatedstoragesettings.save(v=vs.105).aspx

И отрывок из него (см. Предупреждение):

Однако вам не нужно вызывать метод Save в Windows Phone. Данные, которые вы храните в объекте IsolatedStorageSettings, сохраняются автоматически.

Мой опыт разработки также доказывает, что настройки сохраняются автоматически без необходимости явного вызова метода Save. Но обратите внимание, что это происходит только тогда, когда вы закрываете приложение целиком, как указано в MSDN:

Данные, записанные в объект IsolatedStorageSettings, сохраняются, когда приложение, использующее класс, закрывается. Если вы хотите, чтобы ваше приложение немедленно записывало в изолированное хранилище, вы можете вызвать метод Save в коде приложения.

Другие вопросы по тегам