真的有必要在Firebase中使用removeAuthStateListener吗?

时间:2018-07-27 13:55:55

标签: android firebase firebase-authentication

在我的应用中,我已经实现了Firebase身份验证。我创建了一个AuthStateListener来检查用户的状态:

firebaseAuth = FirebaseAuth.getInstance();
authStateListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth auth) {
        FirebaseUser user = auth.getCurrentUser();
        if (user != null) {
            startActivity(new Intent(LoginActivity.this, MainActivity.class));
            finish();
        }
    }
};

onStart()中,我正在使用以下代码:

@Override
public void onStart() {
    super.onStart();
    firebaseAuth.addAuthStateListener(authStateListener);
}

真的需要在onStop()中删除AuthStateListener吗?

firebaseAuth.removeAuthStateListener(authStateListener);

1 个答案:

答案 0 :(得分:1)

如果不删除添加的每个侦听器,则会泄漏内存,可能会使应用程序崩溃,并导致应用程序的运行速度逐渐降低。如果您希望自己的应用程序体验不好,这取决于您,但是建议您始终删除不再有用的监听器。