Android 系统架构
Android 系统架构
Android 大致可以分为四层架构: Linux 内核层, 系统运行库层, 应用框架层, 应用层.

图 1 Android 系统架构
Linux 内核层
Android 系统是基于 Linux 内核的, 这一层为 Android 设备的各种硬件提供了底层的驱动, 如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等.
系统运行库层
这一层通过一些 C/C++ 库为 Android 系统提供了主要的特性支持.
如 SQLite 库提供了数据库的支持, OpenGL|ES 库提供了 3D 绘图的支持, Webkit 库提供了浏览器内核的支持等.
在这一层还有 Android 运行时库, 它主要提供了一些核心库, 允许开发者使用 Java 语言来编写 Android 应用.
另外, Android 运行时库中还包含了 Dalvik 虚拟机 (5.0 系统之后改为 ART 运行环境) , 它使得每一个 Android 应用都能运行在独立的进程中, 并且拥有一个自己的虚拟机实例. 相较于 Java 虚拟机, Dalvik 和 ART 都是专门为移动设备定制的, 它针对手机内存、CPU 性能有限等情况做了优化处理.
应用框架层
这一层主要提供了构建应用程序时可能用到的各种 API, Android 自带的一些核心应用就是使用这些 API 完成的, 开发者可以使用这些 API 来构建自己的应用程序.
应用层
所有安装在手机上的应用程序都是属于这一层的, 比如系统自带的联系人、短信等程序, 或者是你从 Google Play 上下载的小游戏, 当然还包括你自己开发的程序.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!