Android系统简介(中):系统架构

Android的系统架构栈分为4层,从上往下分别是Applications、Application framework、Libraries  & Android Runtime、Linux  Kernel。每层提供不同的Service功能以供上层调用。

architecture  Android系统简介(中):系统架构 architecture thumb

 

一:Linux Kernel(Linux 内核):

    位于Android系统架构栈的底部,整个Android系统基于该层,最新的Android Kitkat 4.4基于Linux Kernel 3.8构建的。它提供的硬件设备抽象接口,以供其他架构层使用。 Linux内核层的主要功能分为2类:提供设备驱动(WIFI、蓝牙、照相机等), 操作系统管理功能(内存、进程管理等等)。
    •内存管理(Memory Management)
    •电源管理(Power Management)
    •硬件抽象(Hardware Abstraction)
    •进程管理(Process Management)
    •设备管理(Device Management)
    •安全设置(Security Settings)
    •网络协议栈(Network Stack)
    •硬件的驱动程序(Hardware Drivers)

 

二:Libraries  & Android Runtime(Android 原生库和Android运行时):

位于Linux内核层之上,基本由C、C++写的Android原生类库,每个负责特定的硬件设备结合或者响应UI的输入请求,如2D、3D的渲染等。功能列表如下:

•Webkit:浏览器引擎,让网页浏览的应用程序中。
•OpenGL:3D图形
•SGL:2D图形
•Surface Manager:屏幕上窗口管理器,用于视图渲染
•SQLite:数据库引擎
•Open SSL:互联网安全协议,支持SSL、TSL协议
•Media Framework:提供播放、录制各种视频、音频的格式。
•libc:远程C系统库。
•网络:提供对网络栈
•硬件:提供访问硬件的东西。
•操作系统:提供访问操作系统服务
•小工具:提供UI组件集合(如按钮,标签等)
•Free Type: 字体渲染

 

Android运行时包含DVM(Dalvik Virtual machine)和核心Java库, DVM的作用类似JVM(Java virtual machine),它的功能如运行字节码(byte Code),内存管理,线程管理等;它可运行.dex文件格式。

 

Android应用程序打包的流程如下图所示:

DVM  Android系统简介(中):系统架构 DVM thumb

 

Core Java Libraries (Java核心库)        

用Java编写的核心API库,提供了强大的功能,如:

    • Data structures
    • Utilities
    • File access
    • Network Access
    • Graphics          

    三 Application framework (应用程序框架层)

    Android开发调用的系统服务功能,列表如下:

    Core Platform Services
    • Activity Manager: 管理App的生命周期
    • Package Manager :用于找到设备上安装的Apps包
    • Window Manager : 将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window
    • Resource Manager :同App的资源管理
    • Content Providers :多个Apps之间共享数据
    • View System: 用于在UI创建一组视图

    Hardware Services
    • Telephony Service :电话呼叫管理
    • Location Service :GPS定位管理
    • Bluetooth Service :蓝牙管理
    • WiFi Service :WIFI管理
    • USB Service :USB管理

    • Sensor Service :传感器管理

        GPS定位代码:
      LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

       

      四 Applicatoin(Android 应用程序)

      Android架构栈的顶层,有系统原生的App以及第三方的App。一般,开发者和用户大都关心本层,因为开发者编写的App要运行在本层。

      系统原生的App有:

      • SMS: 短信
      • Dialer :电话
      • Web browser:浏览器
      • Contact manager :通讯录
      • Email :电子邮件
      • Games etc.:内置的一些游戏等

      ———————————————————-

      Avatar

      Author: Instagram老王

      学习心得、技术分享、Instagram社交营销技术攻坚。