2010-10-13 3 views

ответ

0

Небольшие объемы данных могут быть загружены как XML непосредственно в память. Таким образом, XML будет очень хорошо. При использовании большого количества данных база данных будет лучшим вариантом, но она уменьшит скорость просто потому, что ей нужно читать/записывать данные на хранение.
С приложениями iPhone и другими приложениями для мобильных телефонов разница между памятью и памятью очень мала. К сожалению, для приложения, чтобы понять XML-файл, он должен загрузить XML в DOM-модели. Это приведет к дополнительной памяти о размере XML. Таким образом, XML не подходит для больших объемов данных. (Или огромные записи.)
Если у вас есть до 50 продуктов, баланс в пользу XML. Более 50, и вам лучше с sqllite.
Добавленный бонус XML заключается в том, что вам нужно явно сохранить обратно на хранение, чтобы обновить ваши изменения. В базах данных любые обновления данных, как правило, выполняются напрямую. Таким образом, с базой данных у вас есть еще несколько проблем, устраняющих любые ошибки. Однако с XML ваши изменения будут потеряны, если ваше приложение выйдет из строя. Лично я предпочитаю, чтобы он явно обновлял данные в моей команде, поэтому я бы предпочел XML. (Но не для больших объемов данных.)

+0

У нас есть более 2500 продуктов, но у них есть категории и подкатегории. Какие категории составляют менее 50 продуктов. Я не мог решить, каким образом я должен выбирать. – EnginBodur

+0

Ну, просто посмотрите на общие данные: у вас есть 2500 продуктов. Таким образом, вам понадобится БД, даже если у вас есть только 50 продуктов для каждой категории. Опять же, если вы готовы создать 50 файлов (по одному для каждой категории), тогда XML даст бонус скорости. (Но сохранение 50 файлов вместо одного ... Ой. Не хорошо.) –

0

Добавьте свои продукты в sqllite и обновите только измененные/недавно добавленные продукты в db при каждом запуске асинхронно.

Извлеките свой вид из данных в БД.