Applications of Services

With a little bit of work, Services give us the means to perform long-running background tasks, and free us from the tyranny of the Activity lifecycle. Unlike IntentService, directly subclassing Service also gives us the ability control the level of concurrency.

With the ability to run as many tasks as we need and to take as long as is necessary to complete those tasks, a world of new possibilities opens up.

The only real constraint on how and when we use Services comes from the need to communicate results to a user-interface component, such as a Fragment or Activity, and the complexity this entails.

Ideal use cases for Services tend to have the following characteristics:

  • Long-running (a few hundred milliseconds and upward) ...

Get Asynchronous Android now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.