android系统框架

应用层(APP

应用框架层(API框架)

系统运行库层(包括Android
Runtime
Libraries

Linux内核层

进程管理(process management)

定时器(timer)

中断管理(interrupt management)

内存管理(memory
management)

模块管理(module management)

虚拟文件系统接口(VFS layer)

文件系统(file system)

设备驱动程序(device driver)

进程间通信(inter-process
communication)

网络管理(network management)

系统启动(system init)等操作系统功能的实现

1、Linux Kernel

Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux
Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service
Access Point),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解Linux Kernel层。

2、Android Runtime(运行库)

Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx
是一套工具,可以将 Java .class 转换成 .dex
格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。 Dalvik虚拟机依赖于Linux
内核提供基本功能,如线程和底层内存管理。

3、Libraries(程序库)

Android包括一个被Android系统中各种不同组件所使用的C/C++集库。该库通过Android应用程序框架为开发者提供服务。

以下是一些主要的核心库:

1)系统C库:一个从BSD继承来的标准C系统函数库(libc),专门为基于Embedded Linux的设备定制。

2)媒体库:基于PacketVideo
OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态映像文件包括MPEG4、H.264、MP3、AAC、JPG、PNG。

3)Surface Manager:对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。

4)LibWebCore:一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。

5)SGL:一个内置的2D图形引擎。

6)3D libraries:基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

7)FreeType:位图(bitmap)和向量(vector)字体显示。

8)SQLite:一个对于所以应用程序可用、功能强劲的轻型关系型数据库引擎。

4、Application Framework

开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架架构用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。

以下所有的应用程序都由一系列的服务和系统组成,包括:

1)一个可扩展的视图(Views)可以用来创建应用程序,包括列表(lists)、网络(grids)、文本框(text
boxes)、按钮(buttons),甚至是一个可嵌入的Web浏览器。

2)内容管理器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

3)一个资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串、图形和分层文件(layout files)。

4)一个通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。

5)一个活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。

5、Applications

应用是用Java语言编写的运行在虚拟机上的程序。谷歌最开始就在Android系统中绑定了一些核心应用,比如E-mail客服端、SMS短信消息程序、日历、地图、浏览器、联系人管理程序、设置等等。

时间: 2024-10-26 11:38:32

android系统框架的相关文章

2、android系统框架的介绍

android系统框架介绍 src目录:主要完成java代码编写 assets目录:资源目录 res目录:存放图片.布局文件.字符串.菜单等文件 bin目录:输出文件夹,如生成apk文件 project.properties:工程属性文件配置 gen目录:系统自动生成的源代码目录 R.java文件:系统自动生成的文件,默认有attr.drawable.layout.string4个静态内部类,每个类对应一种资源 AndroidManifest.xml:描述package中暴露的组件(activi

Android 系统框架简介

从整体系统框架而言,Android系统分成内核层.硬件抽象层.系统运行层.应用程序框架层以及应用程序层. ·内核层 基于Linux操作系统,开发的系统驱动层. ·硬件抽象层 进一步降低Android系统与硬件的耦合度 ·系统运行库层 包含了支撑整个系统正常运行的基础库.多数是由C/C++实现. ·应用程序框架层 一方面为上层应用程序提供了API接口:另一方面也囊括了不少系统级服务进程的实现,是与Android应用开发者关系最直接的一层. 一般都是JAVA语言编写. ·应用程序层 ...

Android系统框架介绍

图中的软件层次自上而下分成4个层次应用程序(Application)用用程序框架(Application Framework)各种类库(Libraries)和android运行时(Adnorid Runtime)操作系统(OS)一.应用程序(Application)        应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作.这类应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序. Android本身提供了桌面(Home),联系人(Contacts),拨打

Android Framework Boot Up Overview(Android系统框架启动流程概述)

目录章节: 1.Framework运行环境 2.zygote的启动 3.SystemServer进程的启动 4.启动第一个Activity 概述图: 由于将PPT格式转换为博客内容相当花费时间,请对详细介绍内容感兴趣的同学直接下载文档: AndroidFrameworkBootUpOverview 参考: Android内核剖析-柯元旦(推荐)

基于Android系统应用层与框架层剖析View点击事件

基于Android操作系统的框架层和应用层,介绍了View的绘制.触摸事件的传递流程,分析了View与用户交互时被回调的相关框架层代码和应用层代码,研究了Android应用中事件处理的相关重要机制.通过具体代码详细剖析了在Android系统下用户和View交互过程中折射出的回调机制,回调方法在系统框架的详细执行过程,以及基于回调机制的经典事件处理模型. 1 引言 Android是一种基于Linux的自由及开放源代码的操作系统,目前基于Android平台的应用日趋广泛.Android应用程序大多基

android系统启动框架、Activity界面显示过程详解

一.Android系统框架 android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层.盗图如下: 具体每层的功能介绍如下: (1) 应用程序层 该层提供一些核心应用程序包,例如电子邮件.短信.日历.地图.浏览器和联系人管理等.同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等.友好共处. (2)应用程序框架层 该层是Android应

Android 随想录之 Android 系统架构

应用层(Application) Android 的应用层由运行在 Android 设备上的所有应用程序共同构成(系统预装程序以及第三方应用程序). 系统预装应用程序包含拨号软件.短信.联系人.邮件客户端.日历.地图以及浏览器等提供基础功能的应用程序构成.第三方应用程序则是基于 Android SDK(Android Software Development Kit)进行开发,并受到框架层 SDK 接口约束的应用程序.两者的区别在于,系统预装应用比第三方应用拥有更高的系统使用权限:系统预装应用可

Android动画学习(一)——Android动画系统框架简介

这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其它不会的还有很多.回来之后就开始查Android动画方面的资料,边查边学,把自己不会的东西全部记录下来,同时也把废弃了半年的博客重新维护起来.希望自己以后看问题能更深入一点,努力成为一个大牛! 尽量拒绝三手技术!尽量拒绝三手技术!尽量拒绝三手技术!重要的事情说三遍~所以我不百度了~ 在Android 3.0之前,Android提供了两类动画.一类是Tween Animation,即补间动画,它提供了淡

Android系统Audio框架介绍

音频基础知识 声音有哪些重要属性呢? 响度(Loudness) 响度就是人类可以感知到的各种声音的大小,也就是音量.响度与声波的振幅有直接关系. 音调(Pitch) 音调与声音的频率有关系,当声音的频率越大时,人耳所感知到的音调就越高,否则就越低. 音色(Quality) 同一种乐器,使用不同的材质来制作,所表现出来的音色效果是不一样的,这是由物体本身的结构特性所决定的. 如何将各种媒体源数字化呢? 音频采样 将声波波形信号通过ADC转换成计算机支持的二进制的过程叫做音频采样(Audio Sam