【Android架构】Android架构初探

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

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

图示如下:

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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,204评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,512评论 2 45
  • 本文参加#未完待续,就要表白#活动,本人承诺,文章内容为原创,且未在其他平台发表过。 大学生只是一名普通的大学...
    书桦阅读 406评论 0 2
  • 讲真,作为一个女生来讲。真心不觉得那些满脑子只会减肥化妆电视剧的女生很有味道。在当前的时代也许会看脸。但是绝不会只...
    焦雯阿雯阅读 227评论 0 0
  • 从来没有抽烟的习惯,甚至讨厌身边有人抽烟,那么呛的味道,简直是人间最无聊无用的东西。 那些老男人在烟气熏染中,发黄...
    No_More_Coffee阅读 635评论 5 0