2013-01-06 2 views
0

Я ищу, чтобы хранить простые переменные, так что, если процесс приложения остановлен, данные все равно будут доступны, когда он перезагрузится. Я рассмотрел расширение класса Application и sharedPreferences. Для меня кажется, что расширение приложения хорош для временных глобальных переменных, которые удаляются, когда процесс приложения остановлен. Однако sharedPreferences сохраняет переменную в файле, так что она всегда доступна. Каковы различия между ними и каково их оптимальное использование? Кроме того, что лучше для хранения переменных, которые вы хотите сохранить, даже если приложение остановлено?Разница между «расширением приложения» и sharedPreferences?

ответ

4

Когда процесс вашего приложения будет убит, любые данные, хранящиеся в классе приложения, будут потеряны. Вы должны использовать это только для хранения данных, которые не нужны для нескольких запусков и использования вашего приложения.

Для хранения простых данных, таких как рекорды, предпочтение звука, отображение диалога при настройке запуска, лучшим выбором будет SharedPreferences. Для получения более полных данных, таких как список покупок, сделанных пользователем в приложении, или заметок в приложении списка задач, вы должны использовать базу данных SQLite.

Помимо этого, если вы хотите хранить файлы, такие как PDF-файлы и т. Д. Или изображения (изображения можно также сохранить в базе данных), вы можете использовать внутреннее хранилище или внешнее хранилище (может быть SD-карта или раздел на внутреннем накопителе). Имейте в виду, что на большинстве устройств внутреннее хранилище очень ограничено, и вы не должны сохранять чрезмерно большой файл там.

This Часть документации должна помочь вам с вариантами хранения.

Смежные вопросы