Linux 内核层
Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底
层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。系统运行库层
这一层通过一些 C/C++库来为 Android 系统提供了主要的特性支持。如 SQLite 库提
供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核
的支持等。
同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者
使用 Java 语言来编写 Android 应用。另外 Android 运行时库中还包含了 Dalvik 虚拟机,
它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚
拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、
CPU 性能有限等情况做了优化处理。应用框架层
这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心
应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等
程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。四大组件
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast
Receiver)和内容提供器(Content Provider)。其中活动是所有 Android 应用程序的门面,
凡是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到
它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。
广播接收器可以允许你的应用接收来自各处的广播消息,比如电话、短信等,当然你的
应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可
能,比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。丰富的系统控件
Android 系统为开发者提供了丰富的系统控件,使得我们可以很轻松地编写出漂亮
的界面。当然如果你品味比较高,不满足于系统自带的控件效果,也完全可以定制属于
自己的控件。SQLite 数据库
Android 系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的 SQL 语法,还可以通过 Android 封装好的 API 进行操作,让存储和读取数据
变得非常方便。地理位置定位
移动设备和 PC 相比起来,地理位置定位功能应该可以算是很大的一个亮点。现在
的 Android 手机都内置有 GPS,走到哪儿都可以定位到自己的位置,发挥你的想象就可
以做出创意十足的应用,如果再结合上功能强大的地图功能,LBS 这一领域潜力无限。强大的多媒体
Android 系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃等等,
这一切你都可以在程序中通过代码进行控制,让你的应用变得更加丰富多彩。传感器
Android 手机中都会内置多种传感器,如加速度传感器、方向传感器等,这也算是
移动设备的一大特点。通过灵活地使用这些传感器,你可以做出很多在 PC 上根本无法
实现的应用。
Android-系统架构
Author: tea9
Permalink: http://tea9.github.io/post/1625800743.html
License: Copyright (c) 2017-2025 CC-BY-NC-4.0 LICENSE
Slogan: Do you believe in DESTINY?