Android
Architecture
- Android is not a single piece of hardware
- It's a complete, end-to-end software platform that can be adapted to work on any number of hardware configurations.
- Everything is there, from the boot loader all the way up to the applications.
Operating
System (Linux 2.6) :
- Linux kernel is a proven core platform.
- Reliability is more important than performance when it comes to a mobile phone, because voice communication is the primary use of a phone.
- Linux provides a hardware abstraction layer, letting the upper levels remain unchanged despite changes in the underlying hardware.
- As new accessories appear on the market, drivers can be written at the Linux level to provide support, just as on other Linux platforms.
- Android uses Linux for its device drivers, memory management, process management, and networking
- set of C/C++ libraries
- Interface through Java
- 2D and 3D graphics
- Surface manager - Handling UI Windows
- Media codec's, SQLite, Browser engine
Android Runtime
- Core Libraries
- Dalvik VM
Core Libraries
Java Std edition
Collections, I/O etc…
Dalvik VM
Every Android application runs in its own
process, with its own instance of the Dalvik virtual machine
Android
applications are compiled to Dalvik byte code
Application
Framework
- API interface
- Activity manager – manages application life cycle
- Android offers developers the ability to build extremely rich and innovative applications.
- Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
Applications
Built in and user apps
No comments:
Post a Comment