图中的软件层次自上而下分成4个层次
应用程序(Application)
用用程序框架(Application Framework)
各种类库(Libraries)和android运行时(Adnorid Runtime)
操作系统(OS)
一.应用程序(Application)
应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作。这类应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序。 Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发 人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。
二.应用程序框架(Application Framework)
普通开发者可以使用Android基本应用程序使用的系统API,android 应用框架中的各个模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松的开发出优秀的android应用。开发过程中常用 到的基本框架组件如下:
一组View(UI 组件),这些UI组件包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。
Content Providers(内容提供者),听起来有点抽象,通俗的理解Content Provider 就是提供一种服务,通过这种服务应用程序之间可以实现数据的互相 访问和共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。
Resource Manager 顾名思义就是资源管理,android中的资源很多包括图片,用户界面(Layout xml),字体,颜色,UI组件的Id等等都可以称之为资源,这些丰富的资源,都是通过Resource Manager来统一进行管理。
Notification Manager(消息通知管理),它在不影响用户正常操作和使用设备的时候在状态栏上提供消息的提示。比如有短信来的时候,android自动会将这个消息提示在状态栏上,用户可以及时的看到。
Activity Manager(活动管理),Activity管理着应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。每个Activity类似于Windows应用中的一个wendow。一般的应用都是通过一个个Activity交互构成的。
Window Manager(窗口管理),管理所有启动的窗口。
Location Manager(位置管理),用来管理地图服务的相关功能。
Telephoney Manager(电话管理),用来管理有关的电话的相关功能。
Package Manager(包管理),管理所有的安装在android系统内的应用程序。
三.库(Libraries)和运行环境(RunTime)
这部分内容开始涉及底层,开发普通的应用不会直接对这个层进行操作。这层中包含了一组类库(Libraries)和运行时(RunTime),
系统C库(libc),一个从BSD集成来的标准C系统函数库(libc)它是专门为基于嵌入式Linux的设备定制的。
媒体库(Media Framework),基于PackeVideo OpenCore,该库支持多种常用的音频,视频格式以及回放和录制,同时支持静态图像文件。编码格式包括:MPEG4、H.264,MP3、AAC、AMR、JPG、PNG。
Surface Manager 对显示子系统的管理,并且为多个应用提供2D,3D图层的无缝融合。
WebKit,一个最新的web浏览器引擎,用来支持Andiroid浏览器或者嵌入的web视图。
SGL 底层的2D图形引擎。
OPENGL|ES,基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速或者使用高度优化的3D软加速。
FreeType,位图(bitmap)和适量(vector)字图显示支持。
SQLite,一个对所有应用程序可用,功能强大的轻量级关系型数据库引擎。
Core Libraries 该核心库提供了Java编程语言核心库的大多数功能。
Dalvik VM, android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。
四、操作系统(OS)
Android 的核心系统服务依赖于Linux 2.6 内核,操作系统为Android提供的服务包括:
安全性(Security)。
内存管理(Memory Management)
进程管理(Process Management)
网络堆栈(Network Stack)
驱动程序模型(Driver Model)包含以下这些常规的驱动程序:
(1)Display Driver
(2)Keypad Driver
(3)Camera Driver
(4)WiFi Driver
(5)Flash Memory Driver
(6)Audio Driver
(7)Binder(IPC) Driver
(8)Power Management
分享到:
相关推荐
02.Android体系结构.ppt
### Android 体系结构详解 #### 一、概述 Android 是一个基于 Linux 的开源移动设备操作系统,它由 Google 维护并主导开发。Android 不仅是一个操作系统(Operating System, OS),还包括中间件(Middleware)和...
Android体系结构是一个多层次的、模块化的架构,主要由操作系统(Operating System)、中间件(Middleware)和应用程序(Application)三大部分组成。以下是对这些层次的详细解释: 一、应用程序(Application) ...
【智能家居系统 Android体系结构】 在当今的科技时代,智能家居系统已经深入到我们的日常生活中,而Android作为全球最广泛使用的移动操作系统,其体系结构对于开发和理解智能家居设备的控制与交互至关重要。本教案...
### Android 体系结构详解 #### 一、概述 Android 作为一种广泛应用的移动设备操作系统平台,其内部架构设计决定了它的灵活性和高效性。Android 的体系结构可以分为四个主要层次:操作系统层(OS)、各种库...
Android体系结构,Android的软件层次结构包括一个操作系统,中间件,应用程序。其软件层次结构自上而下可分为: * 应用程序 * 应用程序框架 * 各种库和Android的运行时环境 * 操作系统层 应用程序:以java语言...
第1章android体系结构及开发环境.pptx
Android体系结构组件样本使用体系结构组件的样本集合:感知房间生命周期的组件ViewModels LiveData样本构架组件和这些样本Android构架组件样本使用体系结构组件的样本集合:机房生命周期感知组件ViewModels LiveData...
一张图教你理解安卓的整体系统架构设计,有助于高级开发进阶:应用层,Framework层,Library+RunTime层,硬件中间层,Kernel层
Android 系统结构及开发环境 Android 系统结构及开发环境是指 Android 操作系统的架构和开发环境,它是基于 Linux 内核的开源手机操作系统。 Android 系统结构主要由 Linux 内核、系统库、应用程序框架和应用程序...
Android 技术体系结构 Android 技术体系结构是 Android 操作系统的核心架构,它由四个主要部分组成:Linux Kernel、Android Runtime、Libraries 和 Applications。 一、Linux Kernel Linux Kernel 是 Android ...
2. Android体系结构: Android的体系结构主要包括Linux内核、硬件抽象层(HAL)、系统运行库层、应用程序框架层以及应用程序层。Linux内核为Android提供了稳定的基础,HAL使得硬件接口标准化,系统运行库层包含了一...
This is a sample app demonstrating Youtube UX/UI animation using ConstraintLayout.It implements the Keyframe Animation feature in ConstrainLayout.This sample app is built on Android Architecture ...
"RedditG" 是一个专为Android平台设计的应用程序,它采用了现代的MVVM(Model-View-ViewModel)架构模式,并利用了Android体系结构组件来构建。这个项目的目标是展示如何将这些先进的开发技术和API整合到实际应用中...
:bar_chart:建立了一个最小费用跟踪器应用程序,以演示如何将现代android体系结构组件与MVVM架构一起使用Expenso:bar_chart:一个简单的花费跟踪器应用程序:mobile_phone:被构建为以演示现代android体系结构组件在...
具有Android体系结构组件的MVP 具有MVP模式的Android项目,可适应Google IO 2017中引入的新Android体系结构组件。 它为支持生命周期的Presenter提供了LifeCycle和由Room(SQLite上的抽象层)处理的本地数据源的支持...
智能家居系统应用
新的Android体系结构组件生命周期许可的RxComponentLifecycle Rx绑定版权所有2017 Florent37,Inc.受Apache许可,版本2.0(“许可”)许可; 您不得使用此文件,除非是新的Android体系结构组件生命周期许可证的...