《第一行代码》读书笔记(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%都是机器脚本狗。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值