Подтвердить что ты не робот

Android: Когда использовать Service vs Singleton?

Я совершенно новичок в разработке Android.

Когда лучше создать Android-сервис, а не просто использовать простой класс Singleton?

Возьмем, например, слой данных, загружающий информацию из Интернета.

Использование службы кажется слишком большим для некоторых случаев, но иногда мне может потребоваться доступ к Context, поэтому я немного не уверен, как создать приложение.

4b9b3361

Ответ 1

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

Решение между этими двумя только сводится к жизненному циклу вашего приложения. Для этой цели это сервис - попросите платформу изменить управление вашим процессом. Если вам нужен контекст в одноэлементном режиме, просто используйте Context.getApplicationContext() для извлечения глобального контекста для вашего процесса.