Я ищу, чтобы хранить простые переменные, так что, если процесс приложения остановлен, данные все равно будут доступны, когда он перезагрузится. Я рассмотрел расширение класса Application и sharedPreferences. Для меня кажется, что расширение приложения хорош для временных глобальных переменных, которые удаляются, когда процесс приложения остановлен. Однако sharedPreferences сохраняет переменную в файле, так что она всегда доступна. Каковы различия между ними и каково их оптимальное использование? Кроме того, что лучше для хранения переменных, которые вы хотите сохранить, даже если приложение остановлено?Разница между «расширением приложения» и sharedPreferences?
ответ
Когда процесс вашего приложения будет убит, любые данные, хранящиеся в классе приложения, будут потеряны. Вы должны использовать это только для хранения данных, которые не нужны для нескольких запусков и использования вашего приложения.
Для хранения простых данных, таких как рекорды, предпочтение звука, отображение диалога при настройке запуска, лучшим выбором будет SharedPreferences. Для получения более полных данных, таких как список покупок, сделанных пользователем в приложении, или заметок в приложении списка задач, вы должны использовать базу данных SQLite.
Помимо этого, если вы хотите хранить файлы, такие как PDF-файлы и т. Д. Или изображения (изображения можно также сохранить в базе данных), вы можете использовать внутреннее хранилище или внешнее хранилище (может быть SD-карта или раздел на внутреннем накопителе). Имейте в виду, что на большинстве устройств внутреннее хранилище очень ограничено, и вы не должны сохранять чрезмерно большой файл там.
This Часть документации должна помочь вам с вариантами хранения.
- 1. Разница между категорией и расширением класса?
- 2. Разница между расширением программирования и API
- 3. Разница между угловым и угловым расширением?
- 4. Цель C - Разница между реализацией и расширением
- 5. Fortran: разница между f и F-расширением
- 6. Python: разница между добавлением и расширением
- 7. Разница между расширением и сужением в C++?
- 8. Опубликовать изменения NSUserDefaults между расширением iOS и расширением приложения?
- 9. Совместное использование между добавлением приложения и расширением
- 10. Разница между фиксацией и применением в Android SharedPreferences
- 11. SharedPreferences и класс приложения
- 12. Разница между сохранением SharedPreferences в методах onPause() и onDestroy()
- 13. В чем разница между настройками и SharedPreferences в Android?
- 14. В чем разница между простым классом es6 и расширением React.Component
- 15. в AngularJS, в чем разница между наследованием и расширением?
- 16. Grails: В чем разница между расширением и внедрением класса домена?
- 17. В чем разница между импортом и расширением в java?
- 18. В чем разница между расширением YAML и YML?
- 19. В чем разница между упакованным и распакованным расширением Google Chrome?
- 20. В чем разница между расширением браузера и объектом помощника браузера
- 21. Разница между `util.inherits` и расширением прототипа в NodeJS
- 22. В чем разница между внедрением Serializable и расширением Serializable?
- 23. В чем разница между включением и расширением в Ruby?
- 24. разница между расширением связывания и привязки в wcf
- 25. В чем разница между расширением Firefox и плагином?
- 26. В чем разница между расширением magento и отдыхом api?
- 27. Разница между расширением тильды в RStudio и R
- 28. В чем разница между расширением Firefox и надстройкой Firefox?
- 29. В чем разница между расширением и zend_extension в php.ini?
- 30. Разница между клиентом приложения и автономным клиентом