Android的系统构架

本文详细介绍了Android系统的五层架构:应用程序层、应用程序框架层、系统运行库层、Linux内核层。每一层的功能包括应用程序层的Java API调用与NDK原生开发,应用程序框架层的组件如Activity Manager,系统运行库层的C/C++库和Android运行库,以及Linux内核层的硬件时钟、内存管理和Binder IPC机制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Android系统框架从高层到低层分为五层,分别是应用程序层(Application)、应用程序框架层(Application Framework)、系统运行库层(Libraris和Android Runtime)、Linux内核层(Linux Kernel)
2.各层的功能
(1)应用程序层
 a.应用程序主要是通过使用Java调用应用程序框架层(Application Framework)所提供的API编写
 b.也可以要通过使用Java通过JNI的方式,配合Android NDK来开发原生的应用程序,这样可以提供应用程序的效率,难度将大大增大。
 注:Android NDK,即 Native Development Kit,NDK是一系列工具的集合,帮助开发者快速开发C/C++的动态库,并能自动将so和Java应用一起打包成apk。NDK提供了一份稳定、功能有限的API头文件声明
 Android NDK编程入门 http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html
(2)应用程序框架层
 应用程序框架层为开发人员提供了可以完全访问核心应用程序所使用的API框架。
 应用程序框架层提供的组件有:Activity Manager、Window Manager、Content Providers、View System、Notification Manager、Resource Manager、
 Hardware Services(Telephony Manager、 Location Manager 、Blutooth Service、 WIFI Service 、USB Service、 Sensor Serice)
(3)系统运行库层
 包括程序库和Android运行库两部分
 a.程序库
 Android包含一些C/C++库,这些库能被Android系统的不同组件使用,它们通过应用程序框架为开发者提供服务;
 核心库的功能介绍
 Surface Manager  对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的无缝融合
 Media Framework  基于PacketVideo OpenCORE,该库支持多种格式的音频和视频的回放和录制,同时支持静态图像文件。编码格式包括MPEG4\H.265\MP3\AAC\AMR\JPG\PNG
 SQLite   轻型关系型数据库引擎
 OpenGL ES  该类可以使用硬件3D加速或者使用高度优化的3D软加速
 SGL   底层的2D图形引擎,Android使用sika作为其核心的图形引擎
 FreeType  Bitmap和vector字体显示
 Webkit   最新的Web浏览器引擎,支持Android浏览器和一个可嵌入的Web视图
 SSL   安全通信相关技术处理,为网络通信提供安全及数据完整性的一种完全协议
 Libc   Android并没有采用glibc作为C库,而是Google自己开发的Bionic Libc。它从BSD继承了标准的C系统函数库,是专门为基于嵌入式Linux设备定制的
 b.Android运行时库
 包括核心库和Dalvik虚拟机两部分
 核心库提供了Java语言核心库的大多数功能,这里主要通过JNI的方式向应用程序框架层提供调用底层程序库的接口
 Dalvik虚拟机是为了同时高效地运行多个VMse而实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式的文件针对最小内存使用做了优化
(4)Linux内核层
 内核作为一个抽象层,存在于软件栈层和硬件层之间,Android对内核进行了增强,主要表现在
 硬件时钟(Alarm) 内存分配与共享(Ashmem) 低内存管理器(Low Memory Killer) Kernel调试 日志设备(Logger) Android IPC机制(Binder) 电源管理(Power Management)
  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值