Wednesday, May 30, 2012

A look at Android Architecture


Google’ Android documentation (http://developer.android.com/guide/basics/what-is-android.html) has come along pretty good. I now see that there is a cool Android Architecture diagram that shows the major components of the Android OS.

Summarizing the 10 notable aspects of the architecture that every developer should be aware of:

  1. Android is built on portable Linux platform that brings a level of hardware abstraction
  2. Android applications run as separate Linux processes with security delegated to the underlying Linux system
  3. The native libraries are C/C++ libraries and provides necessary services to the Android application layer
  4. Bionic standard C library is rewritten to make it license friendly and purpose-built for tiny, battery-powered devices
  5. Includes Apache Harmony, a modular Java runtime with class libraries
  6. Relies on Linux core kernel for memory management, power management, and networking features
  7. Java VM was replaced with the Dalvik Virtual Machine to focus strictly on mobile devices and avoid licensing
  8.  Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint
  9.  Includes SQLite, a full featured relational database engine available to all applications
  10.  3D graphics is based on the OpenGL ES 1.0 specification