在我的应用中,我已经实现了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);
答案 0 :(得分:1)
如果不删除添加的每个侦听器,则会泄漏内存,可能会使应用程序崩溃,并导致应用程序的运行速度逐渐降低。如果您希望自己的应用程序体验不好,这取决于您,但是建议您始终删除不再有用的监听器。