【发布时间】:2018-07-29 09:41:33
【问题描述】:
DatabaseReference Ref = FirebaseDatabase.getInstance().getReference(Constants.Client + "/" + path);
Ref.keepSynced(true);
Ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我知道ValueEventListener 在一个新线程中运行,我是否应该在任何时候删除它以进行正确的线程管理? (例如并行运行的线程不多)。如果是,怎么做?
【问题讨论】:
-
是的。您应该在组件生命周期中将其删除。否则它将在不知道组件状态的情况下为您提供回调(称为 Activity)。移除
onStop()或onDestroy()中的监听器。 -
我已经尝试删除它,我已经尝试了所有堆栈溢出的答案,但我无法删除它。有人可以帮忙吗?
标签: java android multithreading firebase firebase-realtime-database