Вызов функции getInstance () Firebase Analytic каждый раз против хранения экземпляра как статической переменной в классе Application

Я пытаюсь решить, какой из следующих способов подходит для этого:

  1. Вызов FirebaseAnalytics.getInstance(Context) из каждого действия, фрагмента и службы, из которых я регистрирую событие.

или

  1. Вызов FirebaseAnalytics.getInstance(Context) один раз из класса Application и сохранение его в качестве общедоступной статической переменной. Тогда, оттуда, мне нужно это, я могу назвать «MyAppClass.mFirebaseAnalytics.logEvent ()».

Будет ли какой-либо из вышеперечисленных методов оказывать нежелательное влияние на события, которые автоматически собираются и / или у любого из них есть повышение эффективности по сравнению с другим?

Большое спасибо!

Solutions Collecting From Web of "Вызов функции getInstance () Firebase Analytic каждый раз против хранения экземпляра как статической переменной в классе Application"

В документации указано:

Public static FirebaseAnalytics getInstance (контекст контекста)

Возвращает однопользовательский интерфейс FirebaseAnalytics.

Поэтому я не вижу какой-либо конкретной причины, почему вы не можете просто иметь экземпляр singleton в своем коде. При любом подходе не будет заметного повышения эффективности. Если вы изучаете второй вариант, возможно, стоит подумать об этом с помощью инъекции зависимостей и простой оберткой вокруг экземпляра analytics для повышения тестовой вероятности вашего кода.