3. Threads, Services, Receivers, and Alerts
This chapter continues the introduction of the basic building blocks of an application. First, the explicit specification of threads is introduced as a method to separate tasks. Then, services and broadcast receivers are introduced. As shown in some recipes, services and broadcast receivers benefit from using threads. The application widget, which uses receivers, is then covered. This leads naturally to the discussion of various alerts available to the developer.
Every application by default runs a single process upon creation that contains all the tasks. To avoid hanging the user interface, time-consuming tasks, such as network downloads or computationally intensive calculations, should reside ...