Android - 概述

Android - 架构

Android操作系统是一堆软件组件,大致分为五个部分和四个主要层,如下面的体系结构图所示.

Android架构

Linux内核

层的底部是Linux  -  Linux 3.6,大约有115个补丁.这提供了设备硬件之间的抽象级别,它包含所有必要的硬件驱动程序,如摄像头,键盘,显示器等.此外,内核处理Linux真正擅长的所有事情,如网络和大量的设备驱动程序这可以消除与外围硬件接口的痛苦.

在Linux内核之上有一组包括开源的库Web浏览器引擎WebKit,众所周知的库libc,SQLite数据库,它是存储和共享应用程序数据的有用存储库,播放和记录音频和视频的库,负责Internet安全的SSL库等.

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浏览功能构建到应用程序中的类.

覆盖了基于Java的核心库Android运行时,现在是时候将注意力转移到Android软件堆栈的这一层中包含的基于C/C ++的库.

Android运行时

这是架构的第三部分,可从底部的第二层获得.本节提供了一个名为 Dalvik虚拟机的关键组件,它是一种专为Android设计和优化的Java虚拟机.

Dalvik VM使用Linux核心功能,如内存管理和多线程,这是Java语言中固有的. Dalvik VM支持每个Android应用程序在其自己的进程中运行,具有自己的Dalvik虚拟机实例.

Android运行时还提供了一组核心库,使Android应用程序开发人员能够使用标准Java编程语言编写Android应用程序.

应用程序框架

Application Framework层以应用程序的形式为应用程序提供许多更高级别的服务. Java类.应用程序开发人员可以在他们的应用程序中使用这些服务.

Android框架包括以下关键服务 :

  • 活动经理 : 控制应用程序生命周期和活动堆栈的所有方面.

  • 内容提供商 : 允许应用程序与其他应用程序一起发布和共享数据.

  • 资源管理器 : 提供对非代码嵌入式资源(如字符串,颜色设置和用户界面布局)的访问.

  • 通知管理器 : 允许应用程序向用户显示提醒和通知.

  • 查看系统 : 用于创建应用程序用户界面的可扩展视图集.

应用程序

您会发现顶层的所有Android应用程序.您将编写要在此层上安装的应用程序.此类应用程序的示例包括联系人书籍,浏览器,游戏等.