Разница между сохранением в файл XML и сериализации в wp7? - PullRequest
0 голосов
/ 24 марта 2011

Мне нужно хранить основные объекты (максимум 5 свойств в каждом объекте), когда мое приложение закрыто или деактивировано.Теперь я понимаю обработчики событий, которые у нас есть, но я не уверен, как сохранить объекты, чтобы их можно было вызывать позже.

Моя первоначальная мысль заключалась в том, чтобы сохранить объекты вXML-файл в изолированном хранилище и просто прочитайте XML-файл, когда приложение было открыто снова и перезагрузите все объекты по мере необходимости.Но я продолжаю слышать о сериализации, когда дело доходит до захоронения.

Теперь возникает ряд вопросов:

1.) Сериализация лучше использовать, чем сохранение в xml-файл в этом сценарии?

2.) В чем разница между выполнением одного над другим, если оба хранят данные, которые будут вызваны позднее?

3.) Почему сериализация является опцией?Это потому, что он быстрее или использует меньше ресурсов?

4.) Если в этой ситуации можно использовать сериализацию, какие ресурсы доступны для начала?

Заранее спасибо.

1 Ответ

2 голосов
/ 24 марта 2011

Извините, у меня недостаточно очков для комментариев. Однако Сериализация - это общий термин для преобразования объекта в формат, который можно сохранить вне приложения. Или в некоторых случаях используется в приложении. Вы можете сериализоваться в разных форматах, а среда dotNET обеспечивает двоичную сериализацию, где объекты преобразуются в байтовый массив, или сериализацию XML, где они преобразуются в XML.

Вы не говорите, пытаетесь ли вы сохранить небольшое количество объектов (например, данных конфигурации приложения) или большую коллекцию объектов с несколькими свойствами каждый.

Если это простой объект и размер коллекции относительно невелик, я думаю, что использование встроенных классов сериализации будет работать нормально.

Сериализация сложных объектов с использованием встроенных классов может быть медленной, потому что отражение используется, чтобы выяснить, что находится в объектах. Если производительность является проблемой, то существуют более быстрые сериализаторы (см. Code Project), или вы можете написать свой собственный, который конкретно знает об объектах, которые вы хотите сериализовать, и поэтому не имеет затрат на отражение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...