我在 Android 中有 Activity A 和 Activity B。
在 Activity A 中,有一个 FirestoreRecyclerAdapter
和一个 FirestoreRecyclerOptions
对象,它们实时更新 RecyclerView
。我从 Activity A 中的按钮启动 Activity B,但没有完成 Activity A,因此当返回 Activity A 时,我不需要再次读取之前已在 recyclerView 中加载的所有文档。
但是,如果我从 Activity B 到 Activity A 启动一个新 Intent ,旧 Activity A 中的 Firestore 监听器会发生什么情况?会自动终止吗?
最佳答案
当您使用 Query 的 addValueEventListener() 时方法中,您应该根据 Activity 的生命周期删除监听器,如我在以下帖子中的回答中所解释的:
如果您使用 Firebase-UI 库,一旦开始监听 onStart()
方法中的更改:
@Override
protected void onStart() {
super.onStart();
firestoreRecyclerAdapter.startListening();
}
您还需要停止监听 onStop()
方法中的更改:
@Override
protected void onStop() {
super.onStop();
if(firestoreRecyclerAdapter != null) {
firestoreRecyclerAdapter.stopListening();
}
}
关于java - 使用 Firestore 管理 Android 后台堆栈和监听器以优化文档读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55832855/