美文网首页
Android入门学习笔记_Android架构

Android入门学习笔记_Android架构

作者: shaipxiang | 来源:发表于2018-08-16 14:35 被阅读7次

题注:Android五层系统架构学习笔记


Andoid的系统架构(Android软件栈)分为五层,由上到下分别是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。

Android系统架构图

一 、应用层(System Apps)

Android系统内置的一些核心应用,如短信,联系人,邮件,浏览器,日历,照相机等应用。

二 、应用框架层(Java API Framework)

该层为开发者提供了开发Android应用程序所需要的API,是Android应用开发的基础,我们自己的开发的应用和系统内置的应用都是通过这些API进行开发的,这些API都是使用Java语言开发。主要包括以下内容:

1、Content Providers

进程间通信工具,应用程序间进行通讯时使用,使自开发的应用程序可以访问其他应用程序的数据,或者共享自己的数据。

2、View System

框架层提供了许多丰富的,可扩展的视图组件来构建我们的应用界面,包括文本、按钮、列表,浏览器组件等。

3、Managers(管理器)

管理器 功能说明
Activity Manager 管理应用程序的生命周期,及Activity栈管理
Location Manager 提供地理位置及地位功能服务
Package Manager 提供和管理安装的应用程序信息
Notification Manager 为应用程序提供在状态栏的自定义提醒信息
Resoure Manager 管理应用程序中的非代码资源,如字符串,图片,颜色文件,布局文件等
Telephony Manager 提供手机通信录相关信息的查询修改功能,包括手机状态,SIM,网络及手机用户等信息
Window Manager 主要用来管理窗口的一些状态,view的变化及消息的处理

三 、系统运行库层(Native)

分为两部分,c/c++库层和Android运行时库

1、C/C++库层

为应用程序框架中的各组件调用,为Android平台提供了主要的特性支持。

名称 功能说明
SQLite 轻型关系数据库引擎
OpenGL/ES 3D绘图功能支持
Webkit 提供浏览器内核的支持
Media Framework Androi多媒体框架的核心,音频、视频的播采集和播放都通过它实现
OpenMAX AL Android多媒体框架标准,作为音频、视频及图像的解码器,与多媒体解码器交互,并以统一的行为支持组件
Libc 标准的C系统函数库,专门为基于嵌入式的Linux设备定制

2、Android运行时库

包括核心库和Dalvik虚拟机(5.0后改为ART运行环境)

核心库允许开发者使用Java语言来编写Android应用程序。

ART运行环境是专门为移动设备定制,针对手机内存、CPU性能做了优化处理,它允许在内存中运行多个虚拟机实例,并且每个虚拟机实例都在一个独立的进程中执行。提供了预先(AOT)和及时(JIT)编译,优化垃圾回收(GC)等。

四 、硬件抽象层(HAL)

为Android平台提供了虚拟硬件平台,将控制硬件的操作放在硬件抽象层去处理。分为多个模块,比如蓝牙,相机等,当应用程序框架访问硬件时,Android系统就会为硬件加载库模块。

五、 Linux内核层

Android的核心服务是基于Linux内核的,这一层主要为Android的硬件提供驱动支持。如蓝牙驱动,显示驱动,Wifi驱动,电源管理等。

虽然网上已经有很多的资料介绍入门基础,还是想自己整理记录一下。

相关文章

网友评论

      本文标题:Android入门学习笔记_Android架构

      本文链接:https://www.haomeiwen.com/subject/qwvnbftx.html