Правильное использование паттерна Singleton в Android

Создаем класс Singletone

    class MySingleton {
     ...
     
     // Инициализация класса
     public static void initInstance() {
      if (mInstance == null) {
       mInstance = new MySingleton();
      }
     }
     
     // Получение экземпляра
     public static MySingleton getInstance() {
      return mInstance;
     }
     
     ...
    }

Класс Application — это базовый класс приложения android. При запуске программы вначале создается экземпляр этого класса, а потом уже необходимые деятельности. Напишем собственную реализацию этого класса, из которой инициализируем наш Singletone

    public class MyApp extends Application {
     @Override
     public void onCreate() {
      super.onCreate();
      MySingleton.initInstance();
     }
    }

Необходимо так же прописать нашу реализацию класса Application в файле AndroidManifest.xml:

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name=".MyApp">
     
     ...
    </application>

Все. Теперь теперь вне зависимости от того какие activities работают экземпляр класса MySingleton будет существовать всегда

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *