Вы можете увидеть, что FirebaseApp.initializeApp делает, щелкнув по команде или элементу управления в своей реализации в Android Studio:
public static FirebaseApp initializeApp(Context context) {
Object var1 = LOCK;
synchronized(LOCK) {
if (INSTANCES.containsKey("[DEFAULT]")) {
return getInstance();
} else {
FirebaseOptions firebaseOptions = FirebaseOptions.fromResource(context);
if (firebaseOptions == null) {
Log.d("FirebaseApp", "Default FirebaseApp failed to initialize because no default options were found. This usually means that com.google.gms:google-services was not applied to your gradle project.");
return null;
} else {
return initializeApp(context, firebaseOptions);
}
}
}
}
Как видите, если приложение по умолчанию было предварительно инициализировано, его экземпляр возвращается, и больше ничего не происходит. Так что, если есть и обратная сторона, это то, что вы только что проделали ненужную работу.
Но вам никогда не придется вызывать его вручную, если вы выполняете стандартную интеграцию, поскольку он будет автоматически вызываться при запуске через ContentProvider, который будет инициализироваться перед любой другой деятельностью или службой. Вы можете прочитать больше об этом в этом блоге .