Android的系统框架

Android的系统架构采用了分层架构的思想,如图1所示。从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。

 图1:Android系统架构图

每层功能简要介绍如下:

一 应用程序层

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

二 应用程序框架层

该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

三 系统库和Android运行时

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

四 Linux内核

Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

总结:

1 Android的系统架构采用分层架构的思想,架构清晰,层次分明,协同工作。

2 Android的系统架构不仅从宏观上认识了Android系统,同时,也给我们的学习与实践指明了方向。若是从事Android应用开发,那应该研究Android的应用框架层和应用程序层;若是从事Android系统开发,那应该研究Android的系统库和Android运行时;若是从事Android驱动开发,那应该研究Android的Linux内核。总之,找准切入点,实践出真知。

时间: 2024-12-28 17:36:51

Android的系统框架的相关文章

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

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

Android的系统框架的深入认识

Android采用层次化系统架构,官方公布的标准架构如下图所示.Android由底层往上分为4个主要功能层,分别是linux内核层(Linux Kernel),系统运行时库层(Libraries和Android Runtime),应用程序架构层(Application Framework)和应用程序层(Applications). Linux内核层 Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能.An

Android sensor 系统框架 (二)

连载上一篇http://www.cnblogs.com/hackfun/p/7327320.html (D) 如何加载访问.so库 在前一篇博客http://www.cnblogs.com/hackfun/p/7327320.html中,知道如何生成了一个HAL的.so库,在这里将分析如何加载这个HAL,如何再次封装以适合多客户端访问的情况.    实际上,系统是通过SENSORS_HARDWARE_MODULE_ID找到对应的.so库的.因为该库中的struct sensors_module_

Android音频系统之音频框架

http://blog.csdn.net/xuesen_lin/article/details/8796492 我们可以结合目前已有的知识,想一下每一个层次都会包含哪些模块(先不考虑蓝牙音频部分)? ·        APP 这是整个音频体系的最上层,因而并不是Android系统实现的重点.比如厂商根据特定需求自己写的一个音乐播放器,游戏中使用到声音,或者调节音频的一类软件等等. ·        Framework 相信大家可以马上想到MediaPlayer和MediaRecorder,因为这

Android音频系统之音频框架(转http://blog.csdn.net/uiop78uiop78/article/details/8796492)

1.1 音频框架 转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492 Android的音频系统在很长一段时间内都是外界诟病的焦点.的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的 音乐播放软件开发商没有推出Android平台产品的一个重要原因.但这并不代表它的音频框架一无是处,相反,基于Linux系统的Android平台有 很多值得我们学习的地方. 1.1.1 Li

Android学习之系统框架

android的系统构架基于Linux内核 安卓系统的组成包括应用程序层.应用程序框架层.函数库与运行时.Linux内核. -应用程序层 应用程序层包括一系列系统核心程序,如Phone(电话).Browser(浏览器)应用.联系人.短信. -应用程序框架层 提供大量API,开发人员可以使用这些API框架来开发自己的应用程序,这样可以简化程序开发的架构设计. Activity Manager活动管理器,用来管理程序生命周期,并提供常用的导航退回功能 Window Manager窗口管理器,管理所有

Android 系统框架简介

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

Android应用程序框架层和系统运行库层日志系统源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少不了使用Log来监控和调试程序的执行.在上一篇文章Android日志系统驱动程序Logger源代码分析中,我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架

android系统框架

应用层(APP) 应用框架层(API框架) 系统运行库层(包括Android Runtime.Libraries) Linux内核层 进程管理(process management) 定时器(timer) 中断管理(interrupt management) 内存管理(memory management) 模块管理(module management) 虚拟文件系统接口(VFS layer) 文件系统(file system) 设备驱动程序(device driver) 进程间通信(inter-