首页 > 代码库 > Android技术19:Android系统架构

Android技术19:Android系统架构

      Android系统架构是学习Android最基本的知识点,经常在技术面试过程中涉及到有关问题,接下来对Android系统架构进行总结。

      Android官方文档提供资料显示:Android系统分为4个层次,从低到高依次为Linux kernel(Linux内核层),Libraries和Android运行时Runtime,Android Framework,Applications。

1.Applications应用层

     该层主要是运行在Andorid系统上的应用程序,如Home,SMS,Contacts等,一般这些应用程序都是用Java语言编写,通过Android Framework层提供的API。也可以通过JNI方式,配合Android NDK开发原生态应用程序,这样可以提高程序运行效率,也可以提高应用程序安全性,增加反编译的难度,一般涉及核心业务逻辑部分需要NDK支持。

2.Android Framework层

     该层主要为应用层提高各种服务,提供API框架,它的实现主要通过JNI技术调用底层Native Service。该层分为以下几个模块:

活动管理器Activity Manager:主要用于管理应用程序生命周期,例如开启应用程序需要资源,关闭应用程序释放资源

窗口管理器Window Manager:管理所有开启的窗口

包管理器Package Manager:主要管理安装的在Android操作系统上的所有应用程序,查看信息卸载应用程序

资源管理器Resouces Manager:管理应用程序需要的各种资源文件

通知管理器Notification Manager:在通知栏显示自定义通知信息

内容提供器Content Providers:应用程序间数据共享

视图系统View System:提供各种视图 按钮,文本框,列表等

硬件服务Hardware Service :Telphony Manager,Bluetooth Manager,Wifi Manager ,Location Manager等

3.Libraries 和Runtime

核心库

Surface Manager:对显示子系统进行管理,并且提供多个应用程序提供2D,3D图层的无缝融合

SQLite:轻型关系数据库引擎

WebKit:Android浏览器内核引起

FreeType:位图和矢量字体

Media Framework:基于PacketVideo OpenCORE,支持多种视频音频和图片

OpenGL/ES:支持OpenGL/ES1.X OpenGL/ES2.0

SSL:安全通信技术处理

Libc:Google自己开发的C语言库,继承Linux系统库

Android运用时

包括核心库和Dalvik虚拟机

4.Linux内核层

Android 是基于Linux 2.6版本提供核心服务,例如安全,线程管理,内存管理,网络栈,驱动模块

Display Driver ,Bluetooth Driver,Camera Driver ,Binder Driver,Power Manager,Memory Manager,Wifi Manager等