【Android架构】Android架构初探

Android 从软件层面来看可以分为以下几个层级:

  • Linux Kernel
  • HAL
  • Native C/C++ Libraries + AR
  • Java API Framework
  • System App

图示如下:

【Android架构】Android架构初探_第1张图片
android-stack_2x.png

official site


  1. Linux Kernel 内核层,系统运行基石,还包含一些基本的硬件驱动
    a. 安全性(Security)
    b. 内存管理(Memory Management)
    c. 进程管理(Process Management)
    d. 网络堆栈(Network Stack)
    e. 驱动程序模型(Driver Model)

  2. 硬件抽象层
    提供高级界面,为Java API Framework层显示硬件功能

  3. AR (Android Runtime) :
    在API>=21的机器上,每个app都是一个AR 实例,这些实例通过DEX文件执行;AR的功能主要包括:
    a. AOT预编译 JIT 实时编译
    b. 提升GC性能
    c. 更好的debug支持

     针对AR优化过的程序可以在低版本Android Dalvik虚拟机上获得性能优化,反之不成立
    
  4. Native C/C++ Libraries
    出于性能考量,Android很多原生组件和服务都用到了native c/cpp的代码
    open GL 的2D 3D绘图基本都是用native api编写
    如若需要,应用也可以通过Android NDK编写代码,调用native API

  5. Java API FrameWork
    Android OS的整个功能集, JAVA编写
    包含各组件、管理工具

  6. 应用层


识别二维码,关注公众号“夕识”


你可能感兴趣的:(【Android架构】Android架构初探)