ИМХО одна важная вещь - никогда не предполагать, что пользователи просто остаются в одном приложении более 5 минут. Они переключатся на другое приложение или заблокируют экран, затем покинут ваше приложение на 30 минут и потребуют точно такой же экран, когда вернутся к вашему приложению. Если активность уже очищена ОС, то ... остальное вы знаете.
Так что я определенно остановлюсь на первом подходе (обновляйте БД для каждого действия).