Android 操作系统是一个软件组件的栈,在架构图中它大致可以分为五个部分和四个主要层。
在所有层的最底下是 Linux - 包括大约115个补丁的 Linux 3.6。它提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。同时,内核处理所有 Linux 所擅长的工作,如网络和大量的设备驱动,从而避免兼容大量外围硬件接口带来的不便。
在 Linux 内核层的上面是一系列程序库的集合,包括开源的 Web 浏览器引擎 Webkit ,知名的 libc 库,用于仓库存储和应用数据共享的 SQLite 数据库,用于播放、录制音视频的库,用于网络安全的 SSL 库等。
这个类别包括了专门为 Android 开发的基于 Java 的程序库。这个类别程序库的示例包括应用程序框架库,如用户界面构建,图形绘制和数据库访问。一些 Android 开发者可用的 Android 核心程序库总结如下:
看过了 Android 运行层内的基于 Java 的核心程序库,是时候关注一下 Android 软件栈中的基于 C/C++ 的程序库。
这是架构中的第三部分,自下而上的第二层。这个部分提供名为 Dalvik 虚拟机的关键组件,类似于 Java 虚拟机,但专门为 Android 设计和优化。
Dalvik 虚拟机使得可以在 Java 中使用 Linux 核心功能,如内存管理和多线程。Dalvik 虚拟机使得每一个 Android 应用程序运行在自己独立的虚拟机进程。
Android 运行时同时提供一系列核心的库来为 Android 应用程序开发者使用标准的 Java 语言来编写 Android 应用程序。
应用框架层以 Java 类的形式为应用程序提供许多高级的服务。应用程序开发者被允许在应用中使用这些服务。
顶层中有所有的 Android 应用程序。你写的应用程序也将被安装在这层。这些应用程序包括通讯录,浏览器,游戏等。
附录 A安装 Storm 客户端Storm 客户端能让我们使用命令管理集群中的拓扑。按照以下步骤安装 Storm 客户端:从 Storm 站点下载最...
Neo4j CQL MATCH 命令用于从数据库获取有关节点和属性的数据从数据库获取有关节点,关系和属性的数据 MATCH 命令语法: MATCH ( ...
Access包括一个导航控件,使您可以轻松地在数据库中的各种表单和报告之间切换。导航表单仅仅是包含导航控件的表单。导航表格是任...
Microsoft Access是来自Microsoft的数据库管理系统(DBMS),它将关系Microsoft Jet数据库引擎与图形用户界面和软件开发工具相结...
"INDEXED BY index-name" 子句规定必须需要命名的索引来查找前面表中值。 如果索引名 index-name 不存在或不能用于查询,然后 SQ...
SQLite 支持以下五个日期和时间函数:序号函数实例1date(timestring, modifiers...)以 YYYY-MM-DD 格式返回日期。2time(timestri...
Redis Hkeys 命令Redis 哈希(Hash)Redis Hkeys 命令用于获取哈希表中的所有字段名。语法redis Hkeys 命令基本语法如下:redis 12...
OracleAND是一个逻辑运算符,可以用来组合两个或更多的布尔表达式。本文就将为大家带来OracleAND的使用方法。OracleAND运算符语...
BETWEEN运算符可以用来在Oracle中选择值在一个范围内的行数据,本教程将为大家介绍BETWEEN运算符的具体使用方法。OracleBETWEEN...