• 《第一行代码》读书笔记(1)—系统架构



    Android 系统架构

      Android 是基于 Linux 的移动操作系统。先甩张图过个眼,下文的内容是针对该图自下而上介绍的。
    在这里插入图片描述
    新的架构图添加了 HAL 层、并且将 Android Runtime 中的 Dalvik 改为 ART 。本质上没有太大的改变。


    Linux内核层

      在所有层的最底下是 Linux(包括大约115个补丁的 Linux 3.6)。它提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。同时,内核处理所有 Linux 所擅长的工作,如网络和大量的设备驱动,从而避免兼容大量外围硬件接口带来的不便。


    硬件抽象层

      向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机、传感器、音频和蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。


    标准库层

      这一层通过一些 C/C++ 库来为 Android 系统提供了主要的特性支持。包括开源的 Web 浏览器引擎 Webkit ,知名的 libc 库,用于仓库存储和应用数据共享的 SQLite 数据库,用于播放、录制音视频的库,用于网络安全的 SSL 库等。


    Android运行时库

      主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。另外,Android 运行时库中还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境),它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、CPU 性能有限等情况做了优化处理。
      Android 运行时库同时提供一系列核心的库来为 Android 应用程序开发者使用标准的 Java 语言来编写 Android 应用程序。


    应用框架层

      这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心应用就是使用这些 API 完成的,开发者也可以通过使用这些 API 来构建自己的应用程序,且被允许在应用中使用这些服务。

    • 活动管理者 - 控制应用程序生命周期和活动栈的所有方面。
    • 内容提供者 - 允许应用程序之间发布和分享数据。
    • 资源管理器 - 提供对非代码嵌入资源的访问,如字符串,颜色设置和用户界面布局。
    • 通知管理器 - 允许应用程序显示对话框或者通知给用户。
    • 视图系统 - 一个可扩展的视图集合,用于创建应用程序用户界面。

    应用层

      你需要了解到,所有安装在手机上的应用程序都是属于这一层的,包括手机自带的联系人啊、短信、备忘录这些程序,或者是我们从应用商店所下载的一系列热门app,比如王者荣耀啊,QQ、微信等程序,但如果你是一名技术爱好者,自己开发的程序当然也算在内,比如市面上有很多私人的脚本apk,用来抢红包啊,抢抽奖名额啊,抢飞天茅台大家都懂吧,99%都是机器脚本狗。


  • 相关阅读:
    统计字符串中不同回文子序列的个数
    数字图像处理复习
    nodejs+vue+elementui网上图书推荐商城网站python多用户卖家商家
    神经网络pid控制器设计,pid神经网络什么原理
    猿创征文|信息抽取(2)——pytorch实现Bert-BiLSTM-CRF、Bert-CRF模型进行实体抽取
    李彦宏:程序员将不复存在! 周鸿祎回怼!网友:先把百度程序员都开除了!
    花生壳配置TCP服务器
    【Web】https 与 http 的区别
    webpack原理 - 5分钟了解ModuleGraph
    中断机制-interrupt和isInterrupted源码分析、中断协商案例
  • 原文地址:https://blog.csdn.net/qq_46653783/article/details/126118421