前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 系统架构

Android 系统架构

作者头像
Yif
发布2019-12-26 15:03:31
8560
发布2019-12-26 15:03:31
举报
文章被收录于专栏:Android 进阶Android 进阶
undefined
undefined
img
img

Android 系统架构分为五层 从上到下依次为应用层、应用框架层、系统运行库层、硬件抽象层与Linux内核层。

应用层

应用层:系统内置的应用程序与非系统的应用程序,负责与用户的直接交互。通常开发人员就处于该层。

应用框架层

应用框架层:提供应用程序开发的各种API进行快速开发,并且隐藏在每个应用后面的是一系列的服务和系统,比如:

  • Activity Manager 管理各个程序的生命周期,以及常用的导航回退功能
  • Location Manager 提供地理位置及定位服务
  • Package Manager 管理所有安装在Android系统的应用程序
  • Notification Manager 使应用程序可以在状态栏中自定义提示信息
  • Resource Manager 提供应用程序各种非代码资源,如本地化字符串 图片等
  • Telephone Manager 管理所有的移动设备功能
  • Window Manager 管理所有开启的窗口程序
  • Content Provider 使得不同的应用程序之间可以共享数据,一个应用程序可以访问另一个应用程序
  • View System(视图系统) 构建应用程序的基本组件, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。

系统运行库

  • C/C++ 程序库,被Android中不同的组件使用,并通过应用程序为开发者提供服务
  • Android 运行库及Android 运行环境 ,运行时库又被非为核心库与ART虚拟机, ART 系统在安装应用时会进行一次预编译,将字节码预先转换成机器码,并储存在本地,就无需每次运行时执行编译,提高了运行效率
  • 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
  • Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D3D图层的无缝融合。这部分代码
  • Webkit,LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。 Apple Safari背后的引擎就是WebkitSGL - 底层的2D图形引擎
  • SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

硬件抽象层

位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化,保证硬件厂商的知识产权,隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台进行移植。

Linux 内核层

Android核心服务基于Linux内核,在此基础上,添加了部分Android专用的驱动。 系统安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖与该内核。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年7月21日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用层
  • 应用框架层
  • 系统运行库
  • 硬件抽象层
  • Linux 内核层
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档