Возможно у меня тупой вопрос будет, но все-таки рискну его задать) А почему так всегда, что читаем из БД, если там пусто то загружаем с апи и сохраняем в БД? А если там не пусто? То отображаем на экране данные из БД? Но ведь в БД может быть уже неактуальная инфа. Не логичнее ли сначала обращаться к серверу? Сам пытаюсь разобраться как правильно кэшировать данные просто, поэтому вопрос заинтересовал)
также обращение к серверу может занять определённое время и чтобы в это время не показывать пользователю пустой экран - показывается кеш, а потом уже и актуальные данные. Плюс сверху украшают какими-нибудь анимациями, чтобы пользователю было понятно, что данные обновились