Singleton Andoid как правильно?

В приложении используется Singleton для хранения данных полученных из сети и отображаемых на разных Activity, нашел информацию о том что если Activity не активна на текущий момент - то ссылка на нее не обязана хранится и объект может быть удален GC, ну а если никто не будет ссылаться на Singleton - то он тоже будет убран. Нашел реализацию через наследование от класса Application, но это вызывает неудобства, т.к. Application доступен только из Activity. Я сделал обычный Singleton, а в наследнике Application инициализировал ссылку на Singleton, чтоб GC не добрался. Собственно вопрос, на сколько это правильно и работоспособно?
public class Singleton{
}
public static synchronized Singleton getInstance(){
...
}


public class MyApp extends Application{
private Singleton = Singleton.getInstance();
}
  • Вопрос задан
  • 3673 просмотра
Решения вопроса 1
anyd3v
@anyd3v
От чего зависит ваш синглетон? если от контекста тогда делайте инит в Application#onCreate если нет то
www.oracle.com/technetwork/articles/java/singleton...
stackoverflow.com/questions/17799976/why-is-static...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gadfi
@gadfi
https://gamega.org
посмотрите в сторону dagger, смотрел примеры с ним ─Singleton не проблема, инджектится без проблем, в сэмплах инджектили даже в адаптер, не уверен что это лучший выбор, сам с dagger только начинаю работать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы