Android firebase onStart和onStop解释

Mil*_*ita 2 java android firebase

我刚开始使用android中的firebase,我无法理解onStart和onStop中的一些内容.

为什么有必要在stop方法上使用此代码?为什么我们需要删除监听器?

@Override
protected void onStop() {
    super.onStop();
    Log.d(TAG, "onStop: ");
    if(mAuthStateListener != null)
        mAuth.removeAuthStateListener(mAuthStateListener);
}
Run Code Online (Sandbox Code Playgroud)

还有一个问题是在onStart方法而不是onCreate中设置mAuth监听器的优势是什么?

@Override
protected void onStart() {
    super.onStart();
    Log.d(TAG, "onStart: ");
    mAuth.addAuthStateListener(mAuthStateListener);
}?
Run Code Online (Sandbox Code Playgroud)

这就是他们在Firebase - >身份验证演示中的推动方式.

Swe*_*per 6

需要删除侦听器,因为它mAuth会保持跟踪您添加的所有侦听器,以便在发生某些事件时通知您.

当活动停止时,你从列表中删除了监听器,因为活动已经停止了,当活动停止时,没有必要监听auth事件,是吗?

为什么要添加监听器onStart呢?

因为根据活动生命周期:

在此输入图像描述

onStartonStop彼此对应,而onCreateonDestroy相互对应.

如果您添加侦听器onCreateonStop从中删除,则在活动重新启动时不会添加侦听器,因为onCreate在重新启动时不会调用该侦听器.onStart .