Немногим ранее я задавал вопрос по части хранения глобальных данных и особенностям жизни процесса в Android, там мне дали понять, что никакой гарантии жизни стронг ссылок ни в синглтонах, ни в сервисах процесса нет.
Отсюда у меня появляется другой вопрос - если я не могу хранить процесс живым (а принуждать его быть живым - это моветон), то каковы, что называется Best Practices, в Android-приложении, где необходимо хранить сессию пользователя? Юзеру никто не запретит задуматься, телефону заснуть, процессу убиться, и, получается, перед любых запросом к серверу мне нужно заного авторизироваться на всякий случай (т.к. сессия могла быть давно оборвана, а юзер, тем не менее, возвращается в приложении в то же активити, на котором остановился) ?
Вам и ответили на прошлый вопрос вроде как. Хранить данные можно всего в двух местах: SQLite и SharedPreferences. Что именно использовать зависит от конкретного приложения, тут не существует "Best Practices", тут существует здравый смысл.
Хранить данные локально - это одно. В данном контексте речь о сервисе, который поддерживает сессию авторизации на сервере. Телефон уснул, сервис умер, сессия разорвана, но юзер возвращается в прежнее активити