Android is structured in the form of a software stack comprising applications,
an operating system,
run-time environment,
middleware,
services and libraries.
This architecture can,
perhaps,
best be represented visually as outlined in Figure 8-1.
Each layer of the stack,
and the corresponding elements within each layer,
are tightly integrated and carefully tuned to provide the optimal application development and execution environment for mobile devices.