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


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

    architecture

    一: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

    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定位代码:
    1. LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

    四 Applicatoin(Android 应用程序)

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

    系统原生的App有:

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

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

  • 相关阅读:
    建设是为“有” 共享是为“无”
    设计模式-命令模式
    设计模式-建造者模式
    设计模式-抽象工厂模式(升级版工厂方法模式)
    设计模式-原型模式
    设计模式-单例模式
    Java中的多维数组
    设计模式-装饰者
    设计模式-模板方法
    乐观锁与悲观锁
  • 原文地址:https://www.cnblogs.com/xifarm/p/android_architecturestack.html
Copyright © 2020-2023  润新知