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等
Android技术19:Android系统架构,布布扣,bubuko.com