如果ValueEventListener没有从onDestroy firebase实时数据库的活动中删除,会发生什么



当活动被销毁时,ValueEventListener未被删除时会发生什么。即使在活动破坏后,此事件侦听器也会侦听吗?

myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
\todo
}});

Firebase实时数据库侦听器不会自动确定上下文/活动的范围。因此,侦听器确实将保持活动状态,直到您明确删除它,或者直到应用程序退出。

如果onDataChange中的代码访问活动的UI元素,这可能会导致意外结果和崩溃。因此,在生命周期事件(如onStoponPause(中删除侦听器是很常见的。

如果不删除侦听器,它将继续侦听。您将有效地";"泄漏";如果您在不再需要它时不将其删除,则侦听器。侦听器对Android活动生命周期一无所知,因此您必须添加代码才能在正确的时间删除它。

最新更新