android系统体系结构
android系统底层是建立在Linux系统之上的,如下图
从上图可以看出android系统有五部分组成
1.APPLICATIONS(应用程序层)
包含一些核心应用程序,电子邮件,日历,地图,浏览器等。
2.APPLICATION FRAMEWORK(应用程序框架)
android应用程序框架提供了大量的API供开发者使用,建议自己从网上下载android的API或者在线浏览也行(http://www.android-doc.com/reference/packages.html)
任何一个应用程序都可以发布其部分功能模块,只要发布时遵守了框架的约定,那么其他开发者也可用这个功能模块。
3.LIBRARIES(函数库)
android包含一套不同组件所使用的C/C++库的集合。一般来说,android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库。
下面列出一些核心库。
- - -系统C库:一个从BSD系统派生出来的标准C系统库(libc),并且专门为嵌入式Linux设备调整过。
- - - 媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等多媒体格式。
- - - Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层机提供无缝整合。
- - - LibWebCore:一个全新的Web浏览器引擎,该引擎为android浏览器提供支持,也为WebView提供支持,WebView完全可以嵌入开发者自己的应用程序中。
- - - SGL:底层的2D图形引擎。
- - -3D libraries:基于OpenGL ES 1.0 API实现的3D系统,这套3D系统既可使用硬件3D加速,也可使用高度优化的软件3D加速。
- - - FreeType:位图和向量字体显示。
- - -SQLite:供所有应用程序使用的、功能强大的轻量级关系数据库。
4.ANDROID RUNTIME
android runtime 由两部分组成:android核心类库集和Dalvik虚拟机。核心类库集提供了JAVA语言核心库所能使用的大部分功能,虚拟机负责运行Android应用程序。
5.Linux内核
Android系统建立在Linux 2.6 之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。
android系统体系结构的更多相关文章
- [总结]Android系统体系结构
Android 从图中可以看出Android主要的组成部分,其中底层是Linux的内核,包括的主要就是文件.内存.系统资源等的管理,Google在这部分的工作主要就是电源管理和一部分驱动,并且整合上层 ...
- Android系统的体系结构、开发语言及源码结构
整理自android系统体系结构 Android 是google公司针对手机开发的一个平台,并公布了其中大部分代码,其大部分应用程序都是用JAVA开发的,毕竟它是商业性的产品嘛,有所保留也是理所 当然 ...
- Android的系统体系结构
目录: Android的系统体系结构 Android的四种常用组件 Activity的启动流程 Android的系统体系结构 在入门了一个简单的Android的Hello World以后,我们首先来看 ...
- 开篇 Android系统的体系结构
1.APPLICATIONS (应用程序层) 2.APPLICATION FRAMEWORK(应用程序框架) android应用程序提供了大量应用程序供开发者使用,当我看开发android应用程序时 ...
- android系统架构解析
以上是我在这个课题下的一些参考博客或者网页链接.里面有对于android架构的一些较好的分析理解,接下来是楼主在阅读后自己的一些整理. Android采用层次化系统架构,官方公布的标准架构如下图所示. ...
- 理解Android虚拟机体系结构
1 什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的 ...
- Android系统架构-----Android的系统体系架构
一.Android的系统体系结构 在入门了一个简单的Android的Hello World以后,我们首先来看一下我们Android的整体系统架构图: 这个就是我们Android的整体系统架构图了,我们 ...
- 【译】Android系统简介
简介 本文主要介绍Android的基础知识和体系结构,本文主题: 简介什么是Android,为什么开发者需要关注Android: Android体系结构(如Linux Kernel, Librari ...
- 【转】编译Android系统源码和内核源码
原文网址:http://blog.csdn.net/jiangwei0910410003/article/details/37988637 好长时间没有写blog了,之所以没有写,主要还是工作上的事, ...
随机推荐
- BZOJ3522: [Poi2014]Hotel
3522: [Poi2014]Hotel Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 195 Solved: 85[Submit][Status] ...
- route命令详解与使用实例
1. 使用背景 需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络.如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁 ...
- Unity3D游戏开发入门(一)
视频: 慕课网适合入门 http://www.imooc.com/video/6582 蛮牛网: http://www.manew.com/ 圣殿中文手册 5.3.2破解工具 面试题 pdf 书籍:
- Color the ball----HDOJ1556
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- How many ways
How many ways Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- ARM学习笔记10——GNU ARM命令行工具
一.编译器arm-linux-gcc 1.用arm-linux-gcc编译一个程序,一般它是要经过如下步骤的: 1.1.预处理阶段 编译器把上述代码中stdio.h编译进来,使用GCC的选项-E可以使 ...
- vimrc语法
前言 工欲善其事,必先利其器.一个programmer必然要先有一个好的editor.vim就是一个十分强大的编辑器.它的强大之处,在于其个性化和可定制.学习vim,就像学习Linux,学习perl, ...
- atomic_t原子操作
所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念. 原子操作需要硬件的支持 ...
- 个人推荐,比较好的MySQL客户端工具
关于啊,MySQL客户端,实在是太多了.本人也是正在摸索中. MySQL Workbench phpMyAdmin SQLyog Navicat for MySQL MySQL Server MySQ ...
- C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)
转载地址 : http://blog.csdn.net/21aspnet/article/details/6729724 一.概念 对齐跟数据在内存中的位置有关.如果一个变量的内存地址正好位于它 ...