Я довольно новичок в разработке для Android.
Когда стоит создать Службу Android вместо простого класса Singleton?
Возьмем, к примеру, слой данных, загружающий информационные потоки из Интернета.
Использование службы в некоторых случаях кажется слишком сложным, но иногда мне может понадобиться доступ к контексту
, поэтому я немного не уверен о том, как разработать приложение.
Если это нормально, если ваш процесс (вместе с синглтоном) может быть убит сразу после того, как пользователь покинет его действия, тогда используйте синглтон. Если вам нужно, чтобы он продолжал работать в течение некоторого времени после этого, воспользуйтесь службой. Если вы хотите продолжить работу после того, как пользователь покинет его, но можете смириться с этим не потому, что пользователь сейчас находится в другом месте, где требуется больше памяти, тогда используйте синглтон.
Выбор между этими двумя только зависит от жизненного цикла вашего приложения. Для этой цели это все, что делает сервис - попросите платформу изменить управление вашим процессом. Если вам нужен контекст в синглтоне, просто используйте Context.getApplicationContext (), чтобы получить глобальный контекст для вашего процесса.