19.9 Summary
Mobile devices are typically considered to be resource constrained, particularly in terms of on-board memory capacity. Consequently, a prime responsibility of the Android operating system is to ensure that applications, and the operating system in general, remain responsive to the user.
Applications are hosted on Android within processes. Each application, in turn, is made up of components in the form of activities and Services.
The Android runtime system has the power to terminate both processes and individual activities in order to free up memory. Process state is taken into consideration by the runtime system when deciding whether a process is a suitable candidate for termination. The state of a process is largely dependent upon the status of the activities hosted by that process.
The key message of this chapter is that an application moves through a variety of states during its execution lifespan and has very little control over its destiny within the Android...