Управление задним стеком Android и слушателями с помощью Firestore для оптимизации чтения документов - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть активность A и активность B в Android.

В действии A есть объекты FirestoreRecyclerAdapter и FirestoreRecyclerOptions, которые в реальном времени обновляют RecyclerView. Я запускаю операцию B с кнопки в операции A, но не завершаю операцию A, поэтому при возвращении к операции A мне не нужно снова читать все документы, уже загруженные ранее в мой recyclerView.

Однако, если я начну новое намерение с действия B на действие A, что произойдет со слушателем Firestore в старом действии A? Это автоматически прекращается?

1 Ответ

2 голосов
/ 24 апреля 2019

Когда вы используете метод Query addValueEventListener () , вы должны удалить слушателя в соответствии с жизненным циклом вашей активности, как описано в моем ответе из следующего поста:

Если вы используете библиотеку Firebase-UI, как только вы начнете прослушивать изменения в вашем методе onStart():

@Override
protected void onStart() {
    super.onStart();
    firestoreRecyclerAdapter.startListening();
}

Вам также необходимо прекратить прослушивание изменений в методе onStop():

@Override
protected void onStop() {
    super.onStop();
    if(firestoreRecyclerAdapter != null) {
        firestoreRecyclerAdapter.stopListening();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...