Из документации Android:
Деятельность
Деятельность представляет собой один экран с пользовательским интерфейсом. Например, приложение электронной почты может иметь одно действие, которое показывает список новых электронных писем, другое действие для составления электронного письма и другое действие для чтения электронных писем.
Услуга
Служба - это компонент, который работает в фоновом режиме для выполнения длительных операций или для работы с удаленными процессами. Сервис не предоставляет пользовательский интерфейс. Например, служба может воспроизводить музыку в фоновом режиме, пока пользователь находится в другом приложении, или она может извлекать данные по сети, не блокируя взаимодействие пользователя с действием. Другой компонент, такой как действие, может запустить службу и позволить ей запускаться или связываться с ней для взаимодействия с ней.
также
После запуска служба может работать в фоновом режиме неограниченное время, даже если компонент, который ее запустил, уничтожен.
ОС Android может уничтожить вашу активность, если у нее закончились ресурсы, но она не разрушит службу.
РЕДАКТИРОВАТЬ: вы должны использовать startForeground()
, чтобы гарантировать, что ваш Service
не будет убит в ситуациях, когда ресурсы ограничены. Из документов:
Сделайте эту службу запущенной на переднем плане, предоставляя текущее уведомление, которое будет показано пользователю в этом состоянии. По умолчанию сервисы являются фоновыми, что означает, что если системе необходимо убить их, чтобы освободить больше памяти (например, для отображения большой страницы в веб-браузере), их можно убить без особого вреда. Вы можете установить этот флаг, если уничтожение вашей службы будет иметь разрушительные последствия для пользователя, например, если ваша служба выполняет воспроизведение фоновой музыки, чтобы пользователь мог заметить, что его музыка перестала воспроизводиться.