Что более эффективно для использования памяти, база данных SQLite или строка XML []? - PullRequest
1 голос
/ 14 декабря 2011

Я новичок, но учусь. Мне просто нужно знать, что является более эффективным с точки зрения памяти, строка [] в XML или БД SQLite? Я могу сделать либо, и может сделать предварительно заполненные на БД. Я говорю не более чем о 1000 строках, а в обновлениях возможно больше.

Спасибо за ваши ответы.

PS Я так много узнал из Stackoverflow. это первое место, к которому я обращаюсь, когда сталкиваюсь с препятствием. Спасибо.

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Зависит от того, какие струны и для чего они вам нужны.Если они меняются при каждом запуске приложения, лучше всего оставить их в памяти в виде строкового массива.Если они сохраняются между запусками приложения, база данных sqlite, вероятно, будет лучше в долгосрочной перспективе, поскольку вам не нужно «перезагружать» базу данных между запусками приложения.

Точно так же, вам действительно нужны все 1000 строк в памяти во время работы приложения?Если это так, снова массив может быть хорошей идеей.Если нет, лучше использовать базу данных.

В конечном счете, вам нужно запустить ее на различных устройствах Android и посмотреть, какая реализация достаточно отзывчива для всего приложения, для которого она предназначена.

1 голос
/ 14 декабря 2011

Я бы сказал, что строка [] намного лучше.Вот хороший ответ от самой SO.

"Если вы не хотите хранить данные постоянно, я бы сказал, что вам, вероятно, следует просто использовать массив. Базы данных предназначены для постоянного хранения (т. Е. Вещи, которые вам понадобятся при нескольких запусках приложения).Если ваши массивы начинают получать reeeeeeeeeealy * big, то да, вы захотите переместить их на диск (в этом случае они не будут занимать память). И, возможно, самый простой способ сделать это с базой данных.

* На порядок сотен тысяч записей, может быть, даже больше. "Источник: @Kurtis Nusbaum https://stackoverflow.com/a/7906472/847954

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