Android基础2(Android系统架构)

1. Android系统架构图

Android系统架构

2. 应用程序

应用程序层为平时所见的一些java为主编写的App,比如微信、QQ等。

3. 应用程序框架

应用程序框架层为应用开发者提供了用以访问核心功能的API框架,这一层大部分用Java写的,包括系统服务和四大组件:

  • Activity,UI交互,并且处理用户与机器屏幕的交互。
  • Service, 幕后服务,处理与应用程序关联的后台操作。
  • Broadcast Receivers, 接收和发送事件,处理操作系统和应用程序之间的通信。
  • Content Providers,共享数据,处理数据和数据库管理方面的问题。

4. Android运行时

运行时就是一个供操作系统使用的系统,它负责将你用高级语言(比如 Java)编写的代码转换成 CPU/处理器能够理解的机器码 Android运行时(runtime)与库位于相同的层,ART和Dalvik都算是一种Android运行时环境,或者叫做虚拟机。

5. Android程序库

包括 Android 开发的基于 Java 的程序库。程序库的示例包括应用程序框架库,如用户界面构建,图形绘制和数据库访问。一些 Android 开发者可用的 Android 核心程序库总结如下:

  • android.app - 提供应用程序模型的访问,是 Android 应用程序的基石。
  • android.content - 方便应用程序之间,应用程序组件之间的内容访问,发布,消息传递。
  • android.database - 用于访问内容提供者发布的数据,包含 SQLite 数据库管理类。
  • android.opengl - OpenGL ES 3D 图片渲染 API 的 Java 接口。
  • android.os - 提供应用程序访问标注操作系统服务的能力,包括消息系统服务和进程间通信。
  • android.text - 在设备显示上渲染和操作文本。
  • android.view - 应用程序用户界面的基础构建块。
  • android.widget - 丰富的预置用户界面组件集合,包括按钮标签列表布局管理单选按钮等。
  • android.webkit - 一系列类的集合,允许为应用程序提供内建的 Web 浏览能力。

6. C、C++本地库

看过了 Android 运行层内的基于 Java 的核心程序库,是时候关注一下 Android 软件栈中的基于 C/C++ 的程序库。在 Linux 内核层的上面是一系列程序库的集合,包括开源的 Web 浏览器引擎 Webkit ,知名的 libc 库,用于仓库存储和应用数据共享的 SQLite 数据库,用于播放、录制音视频的库,用于网络安全的 SSL 库等。

7. Linux内核与驱动层

最底层由Linux内核组成 Android的内存管理、进程管理、网络协议栈、驱动模型和安全等主要的系统服务依赖于Linux。

你可能感兴趣的:(Android基础2(Android系统架构))