Хранение данных Android - Файл по сравнению с SQLite

Как упомянуто выше, холст является путем, которым необходимо пойти. IE не поддерживает его исходно, таким образом, необходимо будет загрузить ExCanvas для обеспечения перекрестной совместимости браузера. Я рекомендовал бы смотреть Ajaxian для некоторых проектов, которые используют тег Canvas.

11
задан Guido 26 November 2009 в 14:15
поделиться

3 ответа

I have no idea in terms of battery life directly but one criteria would be which is easier to manage? Fewer operations to manage the data would mean fewer CPU cycles and in turn longer battery life.

I would say the SQLite option is easier. You can put a date column in the SQLite table which stores your data which makes removing old submissions which you don't need any more very easy - and all handled via the native SQL library. Managing a whole load of file - or worse a single file - with your own Java code would be much more work.

Additionally, you can write data the to database and just forget about it until you need to read it again. If you're storing data in files, you'll need to work out when you should be reading and writing files in terms on the Android application life cycle. If you're worried about battery you probably wouldn't want to write files more often than you should, and cache data in memory, but you'd need to make sure you didn't lose any data when your app is Paused or Destroyed. In my opinion it's much easier to use an SQLite database and not worry about any of this.

13
ответ дан 3 December 2019 в 02:20
поделиться

Я не верю, что имеет значение, используете ли вы SQLite или файл, потому что база данных SQLite - это просто файл в системе (хранящийся в / data / data / / databases / ). Вам нужно будет выполнить фиксацию в базе данных в нужное время, так же, как вам нужно будет сохранить файл на жесткий диск в нужное время. Другими словами, так или иначе вы можете использовать столько же операций записи на жесткий диск.

Я думаю, что то, что вы выберете, больше зависит от того, какие данные вы сохраняете. Если вам нужны полномочия, которые может дать БД (например, выполнение запросов), тогда непременно используйте SQLite. Однако, если вам не нужна база данных или у вас есть данные, которые сильно различаются (и не могут быть легко настроены в реляционной базе данных), я бы пошел с файлами.

Что я могу вам сказать наверняка, так это то, что вам следует не использовать сериализацию для сохранения файла, если вы выбрали именно этот путь. Сериализация Android выполняется медленно, медленно, медленно и создает большие файлы. По соображениям производительности гораздо лучше написать собственный формат XML или JSON.

16
ответ дан 3 December 2019 в 02:20
поделиться

Ваше приложение многопоточное? Если у вас есть несколько потоков, обращающихся к хранилищу данных, я бы выбрал SQLite. Пусть SQLite позаботится о проблемах с блокировкой.

4
ответ дан 3 December 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: