Android system architecture is the most basic knowledge point of learning Android, often involved in the technical interview process related issues, next to the Android system architecture summary.
Android Official documents provide information: Android system is divided into 4 levels, from low to high in turn Linux kernel (Linux kernel layer), libraries and Android runtime Runtime,android Framework, Applications.
1.Applications Application Layer
This layer is primarily an application running on a andorid system, such as home,sms,contacts, which are typically written in the Java language and are provided via the Android Framework layer API. It is also possible to develop the original ecological application with the Android NDK by JNI, which can improve the running efficiency of the program, improve the security of the application, and increase the difficulty of anti-compilation, generally involving the core business logic part needs NDK support.
2.Android Framework Layer
This layer is mainly for the application layer to improve a variety of services, providing API framework, its implementation mainly through the JNI technology calls the underlying native service. The layer is divided into the following modules:
Active Manager Activity Manager: Primarily used to manage application lifecycles, such as opening applications that require resources, shutting down applications and freeing resources
Windows Manager window Manager: Manage all open windows
Package Manager Pack Manager: primarily manages all applications installed on the Android operating system, view information Uninstall application
Resource Manager Resouces Manager: Manage the various resource files required by your application
Notification Manager Notification Manager: Display custom notification information in the notification bar
Content Providers: Data sharing between applications
View System View Systems: Provides various view buttons, text boxes, lists, etc.
Hardware Services Hardware Service:telphony Manager,bluetooth Manager,wifi Manager, location Manager, etc.
3.Libraries and runtime
Core Library
Surface Manager: Manages the display subsystem and provides a seamless blend of 2d,3d layers from multiple applications
SQLite: Lightweight relational database engine
Webkit:android Browser kernel Causes
FreeType: Bitmap and vector fonts
Media Framework: Supports multiple video audio and images based on PacketVideo Opencore
Opengl/es: Support Opengl/es1. X opengl/es2.0
SSL: Secure Communication technology processing
Libc:google's own C-language library, inheriting the Linux system library
When Android is used
Includes core libraries and Dalvik virtual machines
4.Linux Core Layer
Android is a Linux 2.6-based version that provides core services such as security, thread management, memory management, network stacks, driver modules
Display Driver, Bluetooth driver,camera Driver, Binder driver,power manager,memory Manager,wifi Manager, etc.