使用removeEventListener手动删除监听器,避免Handler一直运行。具体示例如下:
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
// 数据改变时执行的代码
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
// 发生错误时执行的代码
}
};
// 添加监听器
myRef.addValueEventListener(valueEventListener);
// 在不需要监听时手动删除
myRef.removeEventListener(valueEventListener);