Мое Android приложение прослушивает базу данных Firebase. Всякий раз, когда моя активность становится неактивной, я прекращаю прослушивание, а когда активность снова становится активной, я возобновляю прослушивание. Это делается с использованием LiveData и методов onActive и onInactive, как показано ниже:
@Override
protected void onActive() {
Log.d(LOG_TAG, "onActive");
query.addValueEventListener(listener);
}
@Override
protected void onInactive() {
Log.d(LOG_TAG, "onInactive");
query.removeEventListener(listener);
}
Используя отладчик, я заметил, что когда я нажимаю кнопку «Назад» и закрываю приложение, метод onInactive получает называется, и приложение идет в фоновом режиме. Когда я снова открываю приложение, выбирая его среди приложений в фоновом режиме, вызывается метод onActive. Однако в этом случае все мои данные перечитываются из базы данных, которая будет использовать пропускную способность данных.
Мой вопрос:
Каков наилучший способ избежать повторного чтения данных каждый раз, когда приложение возвращается из фона?
Спасибо