Serviceは、UIなしで操作を実行するAndroidコンポーネントです — 通常、バックグラウンドで実行される長時間実行される作業を行います。異なるタイプ(フォアグラウンド、バックグラウンド、バインド)があり、それぞれ異なるニーズに適していますが、モダンなAndroidでは多くの場合WorkManagerが推奨されています。
Serviceとは何か
A SERVICE runs operations WITHOUT a UI (not tied to a screen):
→ for work that should continue regardless of UI (or independent of any activity)
→ declared in the manifest; runs in the app's process (main thread by default — must
move heavy work off it!)
サービスのタイプ
FOREGROUND SERVICE → user-aware, ongoing work with a PERSISTENT NOTIFICATION:
→ music playback, navigation, active location tracking, ongoing downloads
→ higher priority (less likely to be killed); the notification is required
BACKGROUND SERVICE → work without user awareness:
→ heavily RESTRICTED on modern Android (battery) → often use WorkManager instead
BOUND SERVICE → other components BIND to it for a client-server interface (interact with
it, call methods); lives while bound
