繁体   English   中英

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

[英]what happen if ValueEventListener not remove from activity onDestroy firebase realtime database

当活动被销毁时不删除 ValueEventListener 会发生什么。 即使在活动销毁后,此事件侦听器是否还会侦听?

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM